Laravel 10 でデータベース登録を行う際に、URL アドレスを格納するための型は、いくつかの選択肢があります。
1. string 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
string 型は最もシンプルですが、255 文字を超える URL アドレスを格納することはできません。
2. text 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
text 型は、65,535 文字までのデータを格納できます。
3. mediumtext 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
mediumtext 型は、16,777,215 文字までのデータを格納できます。
4. longtext 型
PHP
$model->url = 'https://example.com/long-url-address';
$model->save();
コードは注意してご使用ください。content_copy
longtext 型は、4,294,967,295 文字までのデータを格納できます。
どの型を使うべきか
URL アドレスの桁数によって、使用する型を以下のように選ぶのが一般的です。
- 255 文字以下: string型
- 255 文字~65,535 文字: text型
- 65,535 文字~16,777,215 文字: mediumtext型
- 16,777,215 文字以上: longtext型
注意点
- text型、- mediumtext型、- longtext型は、- string型よりも多くのストレージ容量を使用します。
- データベースのインデックスを作成する場合は、string型の方が効率的です。
参考
- Laravel 10 documentation – Database: [[無効な URL を削除しました]]([無効な URL を削除しました])
- MySQL documentation – Data Types: https://dev.mysql.com/doc/refman/8.0/en/data-types.html
