MySQL常见错误总结目录
🔥第一章 [MySQL错误总结(⭐建议收藏) 🔥第二章 MySQL错误总结(⭐建议收藏)
前言
❤️操作数据库时,总是出现一些常见错误,这些错误看似不同,但是万变不离其宗, 于是便有了把这些常见错误的总结下来的心思, 希望可以给读到此文章的读者带去帮助,这样这篇文章也有了意义。 如果觉得有帮助可以**点赞收藏**支持一下,能关注一下就再好不过❤️
一、MySQL错误总结(二)
1007 - Can’t create database ‘myt3’; database exists
问题分析与解决方案
1 .这是因为已经有当前这个表,再创建就会重复, 建议使用以下语句创建
CREATE DATABASE IF NOT EXISTS myt3 CHARACTER SET 'utf-8' ;
1062 - Duplicate entry 'XXX for key ‘XXX’
问题分析与解决方案
1 .字段设置了唯一约束,在插入数据时,数据重新冲突
1091 - Can’t DROP XXX; check that column/key exists
问题分析与解决方案
1 .这是因为再创建约束时,会自动生成一个索引(如果创建唯一约束时未指定名称,如果是单列,就默认和列名相同;如果是组合列,那么默认和()中排在第一个的列名相同。也可以自定义唯一性约束名),当我们删除约束时,需要和约束名相同才能删除 例如 先查询到有哪些约束,以及索引名 SELECT * FROM information_schema.table_constraints WHERE table_name = ‘表名l’; 再删除约束 ALTER TABLE test_notnull DROP INDEX test_unique_phone2;
1115 - Unknown character set: ‘utf-8’
问题分析与解决方案
1 .这是因为字符集设置错误,比方说写成utf-8,正确的应该是utf8 正确写法
CREATE DATABASE IF NOT EXISTS myt3 CHARACTER SET 'utf8' ;
1136 - Column count doesn’t match value count at row 1
问题分析与解决方案
1 .在插人数据的过程中,数据和字段不匹配(可能数据多字段少,或者数据少,字段多)
1138 - Invalid use of NULL value
问题分析与解决方案
1 .出现这个问题是因为,字段里面先有NULL ,后需要修改字段的约束为NULL,则导致约束失败
1166 - Incorrect column name 'owner ’
问题分析与解决方案
错误号码1251 Client does not support authentication protocol requested by server;consider upgrading MysQL client
问题分析与解决方案
1 .之是因为mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 我们需要去更改一下
> ## 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
问题分析与解决方案
1 .这是因为默认开启了 bin-log(保证主存数据一致),需要在创建函数时选择,指明程序使用SQL语句的限制。 例如
1264 - Out of range value for column ‘f1’ at row 1
问题分析与解决方案
1 . 插入数据时,数据超过的数据类型的取值范围,比方128超过了TINYINT的(-127——128)的范围,就会报这类型的错误。 以下是常见的取值范围
1406 - Data too long for column ‘c_gender’ at row 1
问题分析与解决方案
1 .在添加数据时,超过了字段的范围, 可以修改数据,或者修改字段的长度。
1423 - Field of view ‘XXX’ underlying table doesn’t have a default value
问题分析与解决方案
1 .在添加或修改视图数据的时候出现这个情况,首先明确修改视图也会修改到数据表的内容,然后因为开始创建视图时,只选用了部分数据表的字段作为视图,而另一部分字段里面存在约束,比方说不能为NULL,导致事务无法提交。 举例 1数据表的 salary 设置非NULL 2 创建视图CREATE VIEW v_emp AS SELECT emp_id,emp_name,dept_id FROM emp2; 此时没有选择salary字段 3插入视图操作,引发错误
1439 - Display width out of range for column ‘XX’ (max = 64)
问题分析与解决方案
1 .这是因为创建表或者修改表时,数据类型的长度范围超过, -比方说BIT类型的长度范围是1 <= M <= 64 如果超过64就出问题。
1452 - Cannot add or update a child row: a foreign key constraint fails (test01_office
.emp
, CONSTRAINT emp_ibfk_1
FOREIGN KEY (deptid
) REFERENCES dept1
(did
))
问题分析与解决方案
1 原因是 主表里面的被参考字段没有此数据或者值不匹配 ,所以当从表的外键添加数据时,加不进去 (例如员工表里面的部门字段,如果部门表里面没有10号部门,则员工表就不能添加到10号部门)
1822 - Failed to add the foreign key constraint. Missing index for constraint ‘XXX’ in the referenced table ‘XXX’
问题分析与解决方案
1 .增加外键失败,原因是主表里的字段需要为主表的主键 或唯一约束的列 ,才能作为被参考字段
3780 - Referencing column ‘deptid’ and referenced column ‘did’ in foreign key constraint ‘emp_ibfk_1’ are incompatible.
问题分析与解决方案
1 .原因是从表的deptid字段和主表的did字 段的数据类型不一致,并且要它俩的逻辑意义一致
##4028 - A table must have at least one visible column.
问题分析与解决方案
1 .这是因为创建表的时候,没有设定字段,创建表最少需要设置一个字段 错误案例
CREATE TABLE IF NOT EXISTS myt4;
希望对各位的学习有帮助,也希望小伙伴们多多支持,留下你们的爱心💕和赞👍! 💗最后最佳听众祝大家能够拿到心仪的Offer💗