Auto_Increment无法处理插入查询

时间:2017-03-02 20:48:44

标签: mysql sql insert primary-key auto-increment

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

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

我的uidAUTO_INCREMENT所以它会自动增加..

1 个答案:

答案 0 :(得分:4)

当然auto_increment正常运作。您只需要了解有关使用insert的最佳做法。 始终列出所有列(除非你真的,真的知道你在做什么):

Insert into users (uname, password, email)
    values('SDC', 'Helloworld', 'SDC@gmail.com');

id列将自动递增。如果没有列出列,那么MySQL期望所有列的值,包括自动递增的列。