1

私はこのデータベースから作業しています。これは、私が最初に構築しようとしたデータベースの1つです。

http://sqlfiddle.com/#!2/38ef8

この行を追加しようとすると:

Insert Into country (name) values ('US');

フィールド「id」にはデフォルト値がないことを示しています。主キーを正しく実行していますか?この例のように、主キーに「auto_incrment」を使用している人を見たことがあります。

http://sqlfiddle.com/#!2/c807a/2

それは私が使うべきものですか?

4

4 に答える 4

4

PRIMARY KEY列を指定しなかった場合はAUTO_INCREMENT、手動で値を指定する必要があります。次に例を示します。

INSERT INTO Country(id, name) values(1, 'US');

使用するAUTO_INCREMENTかどうかはあなた次第です。それを行う理由はたくさんあり、しない理由はたくさんあります。

于 2012-12-03T09:44:10.263 に答える
2

PRIMARYキーのプロパティがあります1:NULLにすることはできません2:複製することはできません

AUTO_INCREMENTを選択すると、クエリを使用するたびに

Insert Into country (name) values ('US');

主キー列のテーブルに存在する最大値をインクリメントする数値を自動的に生成します

ただし、主キーをAUTO_INCREMENTとして設定しない場合は、

Insert Into country (name) values ('US');

このクエリは、指定された列を除く行のすべての列にNULL値を入力します。その場合、PRIMARY_KEYは、PRIMARY_KEYの定義と明らかに矛盾するNULL値も取得します。そのため、エラーが発生します

説明が役立つことを願っています

于 2012-12-03T10:09:01.997 に答える
1

主キーを自動インクリメントとして設定していない場合は、クエリに手動で挿入する必要があります。

于 2012-12-03T09:46:11.413 に答える
0

主キーはAUTO_INCREMENTに設定する必要があります。そうでない場合は、手動で設定する必要があります。主キーをAUTO_INCREMENTに設定した後でも、キーがまだ存在しない場合は特定の値で挿入できます:D

于 2012-12-03T09:49:40.397 に答える