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

ALTERTABLEステートメントを使用してNOTNULL制約を、NULL値を含む列に適用するとどうなりますか?


この場合、MySQLは列の切り捨てられたデータに関するエラーメッセージを返します。以下はそれを示す例です-

2行目の列「ID」にNULL値を含むテーブル「test2」があるとします。ここで、列IDをNOT NULLとして宣言しようとすると、MySQLは次のようにエラーを返します-

mysql> Select * from test2;
+------+--------+
| ID   | Name   |
+------+--------+
| 1    | Gaurav |
| NULL | Rahul  |
+------+--------+
2 rows in set (0.00 sec)
mysql> ALTER TABLE TEST2 MODIFY ID INT NOT NULL;
ERROR 1265 (01000): Data truncated for column 'ID' at row 2

  1. レコードを含む既存のテーブルに新しいNOTNULL列を追加する

    作成済みのテーブルに新しいNOTNULL列を追加するには、ALTERコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (0.60 sec) 以下は、既存のテーブルに

  2. MySQLのNULLおよびNOTNULLレコードを含む列からのNOTNULL値のみを表示します

    このために、ISNOTNULLプロパティを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1      (      DueDate date      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values('2019-09-10'); Query OK,