The database returned no natively generated identity value问题

alter table user_table MODIFY user_id INT UNSIGNED AUTO_INCREMENT;

  问题来了,为什么我们要对我们的数据表作自增操作?

  因为当我们对表设置为自增之后,我们以后若是想在表中插入数据的话,比如这个表是这样的: 

userIduserNamepasswordmd5
INTEGERVARCHAR(20)VARCHAR(20)VARCHAR(200)
1admin111NULL
2jia_nwisdomNULL
3yinq111aY1RoZ2KEhzlgUmde3AWaA==

  

  然后我们执行以下命令:

  alter table t_user MODIFY userId INT UNSIGNED AUTO_INCREMENT

  之后,我们的表就变成如下:

userIduserNamepasswordmd5
INTEGER UNSIGNEDVARCHAR(20)VARCHAR(20)VARCHAR(200)
1admin111NULL
2jia_nwisdomNULL
3yinq111aY1RoZ2KEhzlgUmde3AWaA==

  

  然后,当我们任意执行insert语句,例如:  

  INSERT INTO t_user ( userName, password, md5) VALUES ('panhao', '111', 'aY1RoZ2KEhzlgUmde3AWaA==');

  显然,里面是不包含主键的,运行如下:

userIduserNamepasswordmd5
INTEGER UNSIGNEDVARCHAR(20)VARCHAR(20)VARCHAR(200)
1admin111NULL
2jia_nwisdomNULL
3yinq111aY1RoZ2KEhzlgUmde3AWaA==
panhaoaY1RoZ2KEhzlgUmde3AWaA==

  而如果我们想取消主键,则只需要执行以下命令:

  alter table t_user MODIFY userId INTEGER ;

  即可

04-15 17:54