首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql在默认值为9999999的db字段中插入零。

问Mysql在默认值为9999999的db字段中插入零。
EN

Stack Overflow用户
提问于 2016-01-13 10:36:21
回答 4查看 260关注 0票数 0

我需要mysql语句的帮助。我在mysql表中有一个名为Code的字段,它被定义为Interger(7) NOT NULL默认值9999999。

我的问题是,当我执行以下声明时,sql:

代码语言:javascript
复制
INSERT INTO mytable (Id, Code) VALUES ('123','');

我可以在字段代码值0 (0)中插入。为什么不在字段代码中插入值9999999?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-01-13 10:59:43

只有在不提供值时才使用默认值。尝试插入而不提供代码列值

代码语言:javascript
复制
INSERT INTO mytable (Id, Code) VALUES ('123');
票数 0
EN

Stack Overflow用户

发布于 2016-01-13 10:37:09

因为您需要插入null而不是空字符串(或者根本不提供@Vipin所提到的任何值)。

代码语言:javascript
复制
INSERT INTO mytable (Id, Code) 
VALUES ('123', NULL);

空字符串仍然是值,只有在不提供值时才使用默认值。

因为code是一个int字段,所以MySQL尝试将''转换为一个数字,结果是0。

票数 2
EN

Stack Overflow用户

发布于 2016-01-13 10:38:09

尝尝这个

代码语言:javascript
复制
INSERT INTO mytable (Id) VALUES ('123');

在您习惯于此之前,空值可能会令人惊讶。从概念上讲,NULL意味着“缺失的未知值”,它与其他值的处理方式有些不同。

这就是为什么在null情况下不能插入默认值的原因

http://dev.mysql.com/doc/refman/5.7/en/working-with-null.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34764382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档