我正在做一个 ajax 将记录写入数据库。该表有 id,fullname。id 设置为主要和自动增量。现在没有 id(以下语句中的 8),记录不会被写入。
下面是插入语句
$sql =
"INSERT INTO user
VALUES ('8','".$_POST['name']."','test4','test5','test6')";
没有id可以写吗?
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 将再次执行默认的自动增量
您还可以在查询中省略 ID 列,以便它自动增加 ID 值
是的,这完全有可能,但您需要指定要插入的列...例如:
$sql="insert into user (username, column2, column3, column4) values ('".$_POST['name']."','test4','test5','test6')";
尝试
$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')";
您可以使用 DEFAULT 或 NULL 而不是 '8'
insert into user(DEFAULT, column1, column2, column3) VALUES (....