例: INSERTおよびGENERATED ALWAYS識別列で定義されたのと同じテーブルに値を挿入すると、2つの識別列タイプは異なった動作を示します。GENERATED BY DEFAULTはINSERTリクエストで値が提供されない場合にのみ値を生成するため、挿入操作が同じでも結果が異なります。
新しく作成されたcolumn_1のtable_1が、GENERATED BY DEFAULTと定義された識別列であると想定します。次のINSERTリクエストは、挿入される行が列の値を指定していない場合にのみ、挿入される行のcolumn_1の番号を生成します。
INSERT INTO table_1 (column_1, column_2, column_3) VALUES (111,111,111); INSERT INTO table_1 (column_1, column_2, column_2) VALUES (,222,222);
table_1のすべての行を選択して、挿入操作の結果を検査します。
SELECT * FROM table_1; *** Query completed. 2 rows found. 3 columns returned. *** Total elapsed time was 1 second. column_1 column_2 column_3 --------- --------- --------- 111 111 111 1 222 222