mysql是Mac版的 ,在表class(下图1)中插入数据长度超过表中定义的长度直接报错,而不是像windows中自动解决。
表结构
相关代码
insert into class(name) values('0123456789a');
执行结果:
怎么跟Windows中不一样???
insert into class(name) values('0123456789a');
执行结果:
怎么跟Windows中不一样???
4 回答1k 阅读✓ 已解决
8 回答1.2k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答977 阅读✓ 已解决
2 回答789 阅读✓ 已解决
1 回答793 阅读✓ 已解决
2 回答1.6k 阅读
sql_mode设置不一样导致的。
执行
show variables like 'sql_mode';
在mac上应该是显示包含STRICT_TRANS_TABLES严格模式,在windows上应该是显示包含ANSI宽松模式。具体的sql_mode查看传送门。
要想超过长度自动截取插入,则设置sql_mode=ANSI;