升级到MySQL5.7版本需注意的问题
1)在一个无符号列中插入一个负值创建具有无符号列的表:CREATE TABLE test (id int unsigned);插入负值。以前版本:INSERT INTO test VALUES (-1);
Query OK, 1 row affected, 1 warning (0.01 sec)
MySQL 5.7版本:INSERT INTO test VALUES (-1);
ERROR 1264 (22003): Out of range value for column 'a' at row 1
2)除以零创建测试表:CREATE TABLE test2 ( id int unsigned );
尝试除以零。先前版本:INSERT INTO test2 VALUES (0/0);
Query OK, 1 row affected (0.01 sec)
MySQL 5.7版本:INSERT INTO test2 VALUES (0/0);
ERROR 1365 (22012): Division by 0
3)在10个字符的列中插入20个字符的字符串创建一个包含10个字符的列的表:CREATE TABLE test3 ( a varchar(10) );
尝试插入较长的字符串。先前版本:INSERT INTO test3 VALUES ('abcdefghijklmnopqrstuvwxyz');
Query OK, 1 row affected, 1 warning (0.00 sec)
MySQL 5.7版本:INSERT INTO test3 VALUES ('abcdefghijklmnopqrstuvwxyz');