我正在做一个ajax来将记录写入db。该表有id,fullname。 id设置为primary和auto increment。现在没有id(以下语句中的8),不写入记录。
下面是插入声明
$sql =
"INSERT INTO user
VALUES ('8','".$_POST['name']."','test4','test5','test6')";
没有id可以写吗?
答案 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 (....