【发布时间】:2016-06-12 17:41:23
【问题描述】:
我刚刚在 phpmyadmin 上将一个 int 必填字段 更改为非必填项(我勾选了空复选框)并制作了默认值 NULL。
到目前为止一切顺利, 问题是当我尝试在已存在的记录(来自 phpmyadmin)上更改此值并删除数字值时,我收到一条警告消息:
Affected 0 records.
Warning: #1366 Incorrect integer value: '' for column 'fktypeId' at row 1
它会将 0 放在字段值上。 我不想在该字段中包含任何值,既不是 0 也不是 NULL,只是空字段。
这会发生吗?提前致谢。
这绝对是一种 phpmyadmin 操作非强制性 Int 字段的方法。 我们只需要选中复选框!!否则它总是将字段值变为 0
谢谢大家,我为那些提出这个“问题”的人发布了打印屏幕。
【问题讨论】:
-
字段是整数类型吗?
-
是的,当然,int(11)。但是我现在看到,当我添加新记录(phpmyadmin)并将该字段留空时,它会添加 NULL 而不是 0。只是为了编辑问题吗?
-
如果字段的默认是
NULL,那么新创建的记录将有NULL,除非特定的整数值是明确输入。 -
存储整数值零是预期的行为。不可能在 integer 类型列中存储零长度字符串(或空字符串)...唯一可能的值是整数值或 NULL。 MySQL 将任何非 NULL 值隐式转换为整数值。 MySQL 将空字符串评估为整数值为零。
标签: mysql phpmyadmin null