序文:MySQL では、テーブル フィールドにデフォルト値を設定できます。テーブルに新しいレコードを挿入するときに、フィールドに値が割り当てられていない場合、システムは自動的にこのフィールドにデフォルト値を挿入します。デフォルト値についてはまだ理解しておくべき知識がいくつかあります。この記事では、フィールドのデフォルト値について学びましょう。 1. デフォルト値に関する操作DEFAULT キーワードを使用してデフォルト値を定義できます。デフォルト値は通常、データ テーブルにデータを入力するときにエラーを防ぐために、空でない列で使用されます。 テーブルを作成するときに、列のデフォルト値を設定できます。具体的な構文形式は次のとおりです。 # フォーマットテンプレート <フィールド名> <データ型> DEFAULT <デフォルト値> # 例mysql> CREATE TABLE `test_tb` ( -> `id` int NOT NULL AUTO_INCREMENT、 -> `col1` varchar(50) NULLではない DEFAULT 'a', -> `col2` int 非null DEFAULT 1, -> 主キー (`id`) -> ) ENGINE=InnoDB デフォルト文字セット=utf8; クエリは正常、影響を受けた行は 0 行 (0.06 秒) mysql> desc test_tb; +-------+-------------+------+-----+---------+----------------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | 自動増分 | | col1 | varchar(50) | いいえ | | a | | | col2 | int(11) | いいえ | | 1 | | +-------+-------------+------+-----+---------+----------------+ セット内の 3 行 (0.00 秒) mysql> test_tb (col1) に値 ('fdg') を挿入します。 クエリは正常、1 行が影響を受けました (0.01 秒) mysql> test_tb (col2) に値を挿入します (2); クエリは正常、1 行が影響を受けました (0.03 秒) mysql> test_tb から * を選択します。 +----+------+------+ | id | 列1 | 列2 | +----+------+------+ | 1 | 1 | | 2 | 2 | +----+------+------+ セット内の 2 行 (0.00 秒) 上記の実験から、フィールドにデフォルト値が設定されている場合、データを挿入するときにフィールドの値が指定されていない場合は、デフォルト値が使用されることがわかります。 デフォルト値の変更、デフォルト値の追加、デフォルト値の削除など、デフォルト値に関するその他の操作もあります。これがどのように機能するかを見てみましょう。 # 新しいフィールドを追加し、デフォルト値を設定します。 alter table `test_tb` add column `col3` varchar(20) not null DEFAULT 'abc'; # 元のデフォルト値を変更します alter table `test_tb` alter column `col3` set default '3a'; テーブル `test_tb` を変更し、列 `col3` を変更します。`col3` varchar(20) は null ではありません。DEFAULT '3b'; テーブル `test_tb` を変更し、列 `col3` varchar(20) を null 以外にします。デフォルトは '3c' です。 # 元のデフォルト値を削除します。 alter table `test_tb` alter column `col3` drop default; # デフォルト値を増やす(変更と同様) テーブル `test_tb` を変更し、列 `col3` をデフォルト '3aa' に設定します。 2. 使用上の提案実際、空でないフィールドだけでなく、通常のフィールドでもデフォルト値を設定できます。ただし、一般的にはフィールドを空でない値に設定することをお勧めします。 mysql> テーブル `test_tb` を変更し、列 `col4` varchar(20) DEFAULT '4a' を追加します。 クエリは正常、影響を受けた行は 0 行 (0.12 秒) レコード: 0 重複: 0 警告: 0 mysql> desc test_tb; +-------+-------------+------+-----+---------+----------------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | 自動増分 | | col1 | varchar(50) | いいえ | | a | | | col2 | int(11) | いいえ | | 1 | | | col3 | varchar(20) | いいえ | | 3aa | | | col4 | varchar(20) | はい | | 4a | | +-------+-------------+------+-----+---------+----------------+ セット内の行数は 5 です (0.00 秒) プロジェクト開発では、デフォルトが現在の時刻である、デフォルトが削除されない、特定のステータスのデフォルト値が 1 であるなど、いくつかのデフォルト値フィールドが依然として頻繁に使用されます。次の表は、よく使用されるデフォルト値フィールドを簡単に示しています。 テーブル `default_tb` を作成します ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '自動増分主キー', ... `country` varchar(50) nullではない DEFAULT '中国', `col_status` tinyint not null デフォルト 1 コメント '1: 何を表していますか 2: 何を表していますか...', `col_time` datetime NOT NULL DEFAULT '2020-10-01 00:00:00' COMMENT '何時', `is_deleted` tinyint not null デフォルト 0 コメント '0: 削除されていません 1: 削除されました', `create_time` タイムスタンプ NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '作成時刻', `update_time` タイムスタンプ NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '変更時刻', 主キー (`id`) )ENGINE=InnoDB デフォルト文字セット=utf8; ここで、デフォルト値はフィールド タイプと一致する必要があることにも注意する必要があります。たとえば、フィールドがステータス値を表す場合、その値は 1、2、3 などになります。その場合、このフィールドには char または varchar タイプではなく tinyint タイプを使用することをお勧めします。 私の個人的な経験に基づいて、デフォルト値の使用に関するいくつかの提案をまとめたいと思います。 非 null フィールドにデフォルト値を設定すると、挿入エラーを防ぐことができます。 NULL 可能フィールドにデフォルト値を設定することもできます。 特定の値がどのようなステータスを表すかを示すために、いくつかのステータス値フィールドにメモを付けるのが最適です。 デフォルト値はフィールド タイプと一致する必要があります。 要約:この記事では主にMySQLフィールドのデフォルト値に関する知識について解説しています。比較的シンプルでわかりやすい内容になっていますので、何か参考になれば幸いです。 上記は、MySQL フィールドのデフォルト値を設定する方法の詳細な内容です。MySQL フィールドのデフォルト値の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: CSS でテキストカラーグラデーションを実装する 3 つの方法
>>: Vue イメージ ドラッグ アンド ドロップ ズーム コンポーネントの使用方法の詳細な説明
システム: VMTOOLs ダウンロード:リンク: https://pan.baidu.com/s/...
1.オーバーフローコンテンツのオーバーフロー設定(設定されたオブジェクトにスクロールバーを表示するか...
NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...
1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...
概要バックグラウンド管理システムには多くのフォーム要件があります。データをjson 形式で書き込み、...
序文プログラミング言語には通常、さまざまな隠されたトリックが含まれており、これらのトリックを上手に使...
コンテナ間の通信1. コンテナのネットワーク共有このモードの Docker コンテナはネットワーク ...
Docker実行コマンドの使用docker run -d -p 9200:9200 -p 9300:...
nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...
目次1. 開発環境2. dockerプラグインをインストールする1. アイデアのインストール2. イ...
この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
目次1. コンポーネントの紹介2. コンポーネントの内部構造とロジック1. コード組織構造2. マッ...
私たちのベテランの先人たちは、数え切れないほどのコードを書き、数え切れないほどの落とし穴に陥ってきま...
序文リレーショナル データベースは、システムのボトルネックになる可能性が高くなります。単一のマシンの...
目次数学オブジェクト共通プロパティ一般的な方法Math.random()文字列メソッド長さプロパティ...