MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQL NOT NULL制約とは何ですか?テーブルの作成中にフィールドNOT NULLを宣言するにはどうすればよいですか?


実際、MySQL NOT NULL制約は、テーブルの列がNULL値を持つことを制限します。列にNOTNULL制約を適用すると、その列にnull値を渡すことはできません。テーブル全体で宣言することはできません。つまり、NOTNULLは列レベルの制約であると言えます。

フィールドをNOTNULLとして宣言するには、CREATETABLEステートメントで列を定義するときにNOTNULLキーワードを使用する必要があります。

mysql> Create table Employee(ID Int NOT NULL, First_Name Varchar(20), Last_name Varchar(20), Designation Varchar(15));
Query OK, 0 rows affected (0.59 sec)

上記のクエリでは、「Employee」テーブルの「ID」フィールドにNOTNULL制約を適用しました。現在、列「ID」はNULL値を取ることができません。また、DESCRIBEステートメントから、提出されたIDがNULL値を受け入れることができないことを確認できます。

mysql> DESCRIBE Employee123\G
*************************** 1. row ***************************
  Field: ID
   Type: int(11)
   Null: NO
    Key:
Default: NULL
  Extra:
*************************** 2. row ***************************
  Field: First_Name
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 3. row ***************************
  Field: Last_name
   Type: varchar(20)
   Null: YES
    Key:
Default: NULL
  Extra:
*************************** 4. row ***************************
  Field: Designation
   Type: varchar(15)
   Null: YES
    Key:
Default: NULL
  Extra:
4 rows in set (0.03 sec)

  1. MySQLフィールドにNOTNULLを含む列挙型?

    ENUMデータ型では、NOT NULLを宣言しない場合、デフォルト値はNULLになります。ただし、NOT NULLを宣言すると、ENUMからの最初の値が得られます。 ケース1- ENUMがNULL値を与える場合。最初にテーブルを作成しましょう: mysql> create table DemoTable1(isMarried ENUM('YES','NO')); Query OK, 0 rows affected (0.76 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into Dem

  2. MySQLでは、!=NULLとISNOT NULLの違いは何ですか?

    値を!=NULLと比較すると、NULLが返されます。したがって、!=NULLは無意味です。 !=NULLとISNOT NULLの違いを確認するために、最初にテーブルを作成しましょう。 まずテーブルを作成しましょう- mysql> create table DemoTable1970    (    Value int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTa