插入语句不更新没有ID

时间:2012-11-22 08:25:46

标签: php mysql

我正在做一个ajax来将记录写入db。该表有id,fullname。 id设置为primary和auto increment。现在没有id(以下语句中的8),不写入记录。

下面是插入声明

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

没有id可以写吗?

5 个答案:

答案 0 :(得分: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将再次执行默认的自动增量

答案 1 :(得分:1)

您还可以省略查询中的ID列,以便它自动递增ID值

答案 2 :(得分:0)

是的,它完全有可能,但您需要指定要插入的列...例如:

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

答案 3 :(得分: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')";

答案 4 :(得分:0)

您可以使用DEFAULT或NULL代替'8'

insert into user(DEFAULT, column1, column2, column3) VALUES (....