【发布时间】:2013-11-21 09:05:00
【问题描述】:
我猜以前,我错误地设置了我的数据库,说该列不为空,并且没有默认值。 (我认为,从未注意)。
现在更新到 mysql 5.6 后,我的很多列都说它不是 null 并且它没有默认值,当我尝试插入类似的东西时
值 1 2 3(但不是 4)到第 1 2 3 列
它失败并给我一个错误,因为第 4 列没有设置为 null,也没有默认值。 mysql中有设置绕过这个吗?
我从 5.5 迁移到 5.6
在 cent os 6 , php 5.4
只是困惑为什么数据库以前可以工作,而不是现在,我所做的只是导出数据库并再次导入。
【问题讨论】:
-
查看mysql更新日志或说明;他们通常会识别新版本中发生的变化;我敢肯定,新版本收紧了一些宽松的限制。
-
您可以做的一件事是发出 alter 语句来更新特定的表/列以设置默认值。
-
是的,我想这就是我最终不得不做的。我相信他们收紧了限制。真是个苦差事.. 只是为了从 innodb 获取全文搜索呵呵..
-
不是真的; MySQL 5.6 上的 InnoDB 现在支持 fulltext search。
-
我的意思是,我升级到 5.6 并完成了所有这些工作,因为我想得到它 :) 无论如何,感谢您的帮助。