在MySQL中,整数字段的默认值为0.在插入过程中,该字段的值为NULL,并插入NULL。我做一些算术操作,如加法,乘法,除法使用该字段的值。当插入NULL时会导致错误。如何解决这个问题?如果数据库的插入值为空,则数据库不支持像integer,decimal这样的字段的默认值(可能不适用于字符串类型,因为NULL对字符串有效)。如果不是,那么为数值类型设置NULL值是否正确?MySQL默认值问题
出于某种原因,当我有一个小数字段NOT NULL和缺省值0,插入失败,错误消息“数据被截断为在第1行的列‘COLUMN_NAME’”。
如果我删除了NOT NULL属性,则插入将成功执行与警告相同的消息。
是被插入到小数字段的值为AVG()的MySQL函数
真的懵懵懂懂的结果...
可能是什么原因?
当我设置NOT NULL属性,插入过程中抛出了“数据被截断在ROW1的栏位名”出错,且行越来越插入 – 2009-09-21 09:08:48
权,为NULL是不允许的,MySQL将截断插入的行。你需要在你的脚本中解决这个问题或者配置mysql来允许这个(虽然我不确定在mysql配置中是否有这样的选项) – dusoft 2009-09-21 13:30:07
带有NOT NULL和默认值的字段不应该抛出错误,因为我已经设置了如果NOT NULL失败,则为默认值。它应该尝试插入默认值吗? – 2009-09-22 05:45:26