mysql设置字段为空字符串_mysql数据类型字段插⼊空字符串
⾃动填充为0报错
有⼀条这样的sql语句,
insert into a(id,user_name) values('','abc');
表⽰插⼊字段的时候ID插⼊是空字符串。这样的情况在mysql5.6版本上执⾏报错。在mysql5.1版本执⾏可以成功,
mysql的⽼版本可以⽀持数据类型空值,5.2以后的估计是不⾏了。
js脚本加密为什么不写空字符串不能写null?
这是因为mysql受到了字段类型的约束,设置为not null 了custom怎么读英语
NULL 和 NOT NULL 修饰符:
mysql语句分类可以在每个字段后⾯都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),还是说必须填上数据(NOT NULL)。MySQL默认情况下指定字段为NULL修饰符,如果⼀个字段指定为NOT NULL,
MySQL则不允许向该字段插⼊空值(这⾥⾯说的空值都为NULL),因为这是“规定”。
not null 表⽰这个字段不能为空
initialize variable space是什么意思虽然看起来他是⼈为设置的 但是他和业务逻辑或者数据结构有关系
⽐如你要对这条记录进⾏读取 ⽽这个是很重要的属性 那么你不仅要让其不为空 还要让他是指定的格式或者数值
vim命令快捷键还有情况就是 这个字段恰是其他表的主键 那么只有他有值才能正确关联两张表 所以他必须有值
所以没办法程序员只好改了程序,把这个字段给去掉了。。。-_-_-
这种问题⼀般mysql 5.x上出现。我⽤的mysql5.2.28,后⾯查询得知新版本mysql对空值会报错,要在安装mysql的时候去除默认勾选的enable strict SQL mode。如果已经安装好了的,就在my.ini中查sql-mode,默认为sql-
mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",将其修改为sql-
mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可。
第⼀时间的反应是跟mysql5.0新加的sql-mode有关系,因为前⼀阵⼦刚刚看过⼿册.果然,作了如下更改后就不再提⽰了.
修改 my.ini ⽂件.
# Set the SQL mode to strictsql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”摘要汇编是什么意思
改为:
# Set the SQL mode to strictsql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论