目录
1.当你插入数据时报错
1 queries executed, 0 success, 1 errors, 0 warnings
查询:INSERT INTO student VALUES('202121314101','陈平','男','2002-04-01','汉','广东湛江','01','0102','070102','信计212','4-6...
错误代码: 1452
Cannot add or update a child row: a foreign key constraint fails (`school`.`student`, CONSTRAINT `student_ibfk_2` FOREIGN KEY (`clno`) REFERENCES `class` (`clno`))
这是因为外键没有这个值。
就是你通过外键引用别的表的主键,然后那个表的主键没有这个值,你引用一个不存在的值,由于外键的约束,自然会报错。
2.主键重复
查询:INSERT INTO student VALUES('202121314102','安燃','男','2002-06-06','汉','广东惠州','02','0203','020304','投资211','16-...
错误代码: 1062
Duplicate entry '202121314102' for key 'PRIMARY'
这是因为你创建了一个主键,然后已经插入一组数据,然后又“不小心”插入了重复的数据,就会出现以上的报错语句。这是不允许重复插入的意思。
3.数据类型报错
1 queries executed, 1 success, 0 errors, 1 warnings
查询:INSERT INTO student VALUES('202121314109','杜中昊','男',2003-04-04,'汉','广东汕头','04','0401','090102','园艺212','4-...
共 1 行受到影响, 1 个警告
举个例子,你创建的学号的数据类型时char,然后插入的时候,没有加' '这个单引号的符号,也就是变成int类型,就会产生以上的错误。
4.今天遇到的最大问题
mysql创建表却老是报Table 'school.student' doesn't exist
这个解决有点困难,除了必要的外键联系的表之外,其他表尽量先不创建,先删了。看看有没有被你设为外键,但它这个键在其所在表却不是主键的,有可能就是那个表错了。把那个表删了,也许就可以了。
否则可能会持续报错,明明就是创建表,却老报表不存在。可能会使mysql直接退出,记得重新启动。