首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL默认值问题

MySQL默认值问题
EN

Stack Overflow用户
提问于 2009-09-21 08:50:25
回答 5查看 20.8K关注 0票数 2

在MySQL中,整数字段的默认值为0。在插入期间,该字段的值为NULL,并且插入NULL。我使用该字段的值进行一些算术操作,如加法、多路编译、除法。这会导致错误,因为插入了NULL。如何解决这个问题?如果字段的插入值为null,则DB不支持integer、decimal等字段的默认值(可能不适用于字符串类型,因为NULL对于字符串有效)。如果不是,那么Numeric类型的空值是否正确?

由于某些原因,当我有一个十进制字段,且非空值和默认值为0时,插入失败,并显示错误消息"Data truncated For column 'Column_Name‘at row 1“。

如果我删除了NOT NULL属性,则插入成功后将显示警告消息。

插入到小数字段中的值是AVG() MySql函数的结果

真的一无所知..。

可能的原因是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-21 08:54:01

对于任何mysql列/类型,NULL都是正确的值。

您可以将该列设置为NOT NULL,或者需要在脚本语言中解析它,这样就不会插入null。

票数 5
EN

Stack Overflow用户

发布于 2009-09-21 09:52:18

要插入默认值,您不必为列指定任何值,甚至不能指定NULL,因为NULL是一个特定值。

票数 7
EN

Stack Overflow用户

发布于 2009-09-21 08:54:40

您可以将字段设置为NOT NULL,以完全避免此问题。如果NULL值是不需要的,那么您就应该这样做。当列为NOT NULL时,将插入该类型的默认值(0表示整数),而不是NULL

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

https://stackoverflow.com/questions/1453483

复制
相关文章

相似问题

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