一、 #22001
Caused by: java.sql.BatchUpdateException: Data truncation: #22001
检查一下数据库表字段,特别是VARCHAR的长度是否够。
Caused by: java.sql.BatchUpdateException: #HY000
检查是不是违反了非空约束,NOT NULL字段有没有没传的
二、 #1046 (3D000): #1064
MySQL错误 ERROR 1064 (42000): You have an error in your SQL syntax;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near balabala at line 1.
错误原因: 创建表时,将表名用单引号括起来了。
Mysql中,为了区分关键字和普通字符,在创建表时,表名和表内关键字需使用反引号(就是Tab上面那个键),若使用了普通的单引号,就会报上述错误。
mysql> use ltkj-personnel-manager;
Database changed
mysql> GRANT all privileges ON ltkj-personnel-manager.* TO 'ltkjtest'@'%' ;
ERROR 1064 (42000):
mysql> GRANT all privileges ON `ltkj-personnel-manager`.* TO 'ltkjtest'@'%' ;
Query OK, 0 rows affected (0.01 sec)
mysql>
二、 #1046 (3D000): #1064
三、错误1060
MySQL错误1060是MySQL服务器常见的一个错误,大多数用户在操作MySQL数据库时会遇到这个错误。MySQL错误1060的具体错误信息为:“Duplicate column name ‘%s’”,意思是字段重复。MySQL服务器不允许在同一表中有多个同名的字段,如果尝试在表中定义两个字段名为’TEST’,就会报出MySQL错误1060,表示字段重复。
要解决MySQL错误1060,可以采取以下几个步骤。首先观察表结构,看看哪些字段名重复了,这样可以更快的发现出重复字段的引起问题。
之后,就可以根据实际需要,用一些SQL语句来更新表结构,以及更新表中字段的名字,让重复名字的字段变成不重复的名字,从而解决MySQL错误1060。
四、MySQLIntegrityConstraintViolationException: #23000.
插入数据时,表中已有相同的主键,所以报错 #23000 .插入的新数据,与表的主键唯一约束产生了冲突
就是新数据的主键在表中已经存在了.
二. 解决方法
1.更换插入的主键数据
2.把主键设置为自动递增,插入数据时不插入主键.