我最近升级了本地 wampserver,因此更新了 MySQL。他们默认启用的严格模式让我有些头疼。
添加默认值的要求(对我来说有点过头了。但我是谁)对我来说是个大问题。
我创建的系统停止工作,因为这让我的整个操作陷入停顿。
我得到的错误:
: Field 'pageoptions_description' doesn't have a default value
现在我添加了一个默认值:
ALTER TABLE `serene_pageoptions`
CHANGE `pageoptions_description` `pageoptions_description`
TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL;
但是没有用。仍然收到该字段没有默认值的相同错误。默认值为 NULL。但这似乎并不正确。
有什么我遗漏的吗?
最佳答案
我认为默认值总是null
,即使没有定义默认值。所以你的 ALTER TABLE
语句并没有真正做任何事情。说默认值为 null
等同于没有默认值;这与说任何缺失值都将由 null
填充是不一样的。
每一列的默认值已经是null
。您能想出另一个有意义的值作为列的默认值吗?
关于MySQL Strict : doesn't have a default value, 添加默认值后仍然无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40281076/