为什莫没有输入主键id,却依然还是存入了,并且id为0

为什莫没有输入主键id,却依然还是存入了,并且id为0


-- 测试主键
create table test_primary_key(
  id int unsigned primary key,
  username varchar(10)
);
insert test_primary_key(id,username) values(1,'lk');
insert test_primary_key(username) values('lka');http://img1.sycdn.imooc.com//climg/5e91bc3c0926a0b214680766.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,同学可以在cmd中使用如下sql设置mysql为严格模式:

set session sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

或者修改my.ini配置文件,设置sql_mode为:

sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,

然后重新插入数据再试试。

祝:学习愉快~

好帮手慕阿满 2020-04-12 10:27:01

同学你好,这是由于严格模式的问题。如果使用严格模式,没有插入主键,将会报错,如:

http://img1.sycdn.imooc.com//climg/5e927b3709a9f91205630244.jpg

如果将严格模式取消,没有插入主键,可以插入数据,会提示警告信息,如:

http://img1.sycdn.imooc.com//climg/5e927bfc09a32f4505860347.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 是泪水还是歌声 #1
    之前按教辅将严格模式关闭了,后来我改回去了,可是严格模式还是没有开启
    2020-04-12 11:19:24
提问者 是泪水还是歌声 2020-04-11 20:49:08

该不会还是版本问题吧

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师