自增在插入查询中无效。

3

需要帮助解决这个问题... 我创建了一个用户表,其中包含以下列

Create table users
(
  uid int(10) PRIMARY KEY AUTO_INCREMENT,
  uname varchar(50),
  password varchar(50),
  email varchar(50)
);

当我使用uid插入值时,它成功执行:

Insert into users values(1,'ABC','Helloworld','ABC@gmail.com');

但是当我不使用 uid 时尝试,
Insert into users values('SDC','Helloworld','SDC@gmail.com');

它不能成功执行并且出现错误。

ERROR 1136 (21S01): Column count doesn't match value count at row 1

我的uid具有AUTO_INCREMENT,因此它应该自动增加。

1个回答

5
当然,auto_increment 是正常工作的。你只需要学习如何使用 insert 的最佳实践。始终列出所有列(除非你真的非常清楚你在做什么):
Insert into users (uname, password, email)
    values('SDC', 'Helloworld', 'SDC@gmail.com');

id列将自动递增。如果您不列出列,则MySQL会期望所有列(包括自动递增的列)都有值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接