0

データベースにレコードを書き込むために ajax を実行しています。テーブルには id,fullname があります。ID はプライマリおよび自動インクリメントに設定されます。ID (以下のステートメントでは 8) がないと、レコードは書き込まれません。

以下は挿入ステートメントです

$sql = 
   "INSERT INTO user 
   VALUES ('8','".$_POST['name']."','test4','test5','test6')";

IDなしで書くことは可能ですか?

4

5 に答える 5

1

NULLの代わりに を配置すると'8'、MYSQL にデフォルトの自動インクリメントを実行するように指示されます。

$sql="insert into user values (NULL,'".$_POST['name']."','test4','test5','test6')";

他の可能性は、クエリを次のように書き直すことです。

$sql="insert into user (field1, field2, field3, field4) values ('".$_POST['name']."','test4','test5','test6')";

この場合、挿入する列として id を指定しなかったため、MySQL は再びデフォルトの自動インクリメントを行います。

于 2012-11-22T08:28:16.653 に答える
1

クエリで ID 列を省略して、ID 値を自動的にインクリメントすることもできます。

于 2012-11-22T08:29:36.793 に答える
0

はい、完全に可能ですが、挿入する列を指定する必要があります...例:

$sql="insert into user (username, column2, column3, column4) values ('".$_POST['name']."','test4','test5','test6')";
于 2012-11-22T08:29:06.823 に答える
0

試す

$sql="insert into user values (NULL,'".$_POST['name']."','test4','test5','test6')";

また

$sql="insert into user(`field1`, `field2`, `field3`, `field4`) values ('".$_POST['name']."','test4','test5','test6')";
于 2012-11-22T08:29:08.607 に答える
0

「8」の代わりに DEFAULT または NULL を使用できます

insert into user(DEFAULT, column1, column2, column3) VALUES (....
于 2012-11-22T08:31:25.217 に答える