0

我正在做一个 ajax 将记录写入数据库。该表有 id,fullname。id 设置为主要和自动增量。现在没有 id(以下语句中的 8),记录不会被写入。

下面是插入语句

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

没有id可以写吗?

4

5 回答 5

1

PlaceNULL而不是'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

您可以使用 DEFAULT 或 NULL 而不是 '8'

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