1. 程式人生 > >MySQL常見報錯及解決方案

MySQL常見報錯及解決方案

ERROR 1136 (21S01): Column count doesn’t match value count at row 1

ERROR 1136 (21S01): Column count doesn't match value count at row 1
在這裡插入圖片描述

出現原因

新增資料時欄位名數和值數量不一致,
比如上面的就是
name->值1,值2,值3 錯誤!!!

解決辦法

一個欄位對應一個值
insert into 表名 (欄位) values (值)



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 ‘ondelete cascade)’ at line 6

出現原因

這種一般都是因為語法錯誤

解決辦法

檢查語法並且修改

ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (db1.emp, CONSTRAINT emp_of_des_fk FOREIGN KEY (dep_id) REFERENCES department (id) ON DELETE CASCADE ON UPDATE CASCADE)

在這裡插入圖片描述

出現原因

外來鍵約束失敗,可能不存在外來鍵對應主鍵

解決辦法

主表的行中新增對應的主鍵或者從表中新增正確的外來鍵(值)

ERROR 1054 (42S22): Unknown column ‘欄位’ in ‘field list’

在這裡插入圖片描述

出現原因

欄位不存在,新增失敗

解決辦法

新增該欄位或者檢查要操作的欄位是否有誤.


ERROR 1146 (42S02): Table ‘db1.employee’ doesn’t exist

在這裡插入圖片描述

出現原因

表不存在,新增資料失敗

解決辦法

檢查表名稱或者建立該表


ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)

在這裡插入圖片描述

出現原因

密碼錯誤

解決辦法

重置或者檢查密碼是否正確
如何重置資料庫密碼


ERROR 1051 (42S02): Unknown table ‘despartment’

在這裡插入圖片描述

出現原因

刪除不存在的表會導致ERR 1051

解決辦法

檢查表名稱


ERROR 1005 (HY000): Can’t create table ‘db1.emp’ (errno: 150)

在這裡插入圖片描述

出現原因

1、外來鍵的引用型別不一樣,如主鍵是int外來鍵是char
2.找不到主表中引用的列
3.主鍵和外來鍵的字元編碼不一致,也可能儲存引擎不一樣
4.主表並不存在

解決方案

1.檢查外來鍵和主鍵的引用型別
2.檢查主表中的列
3.檢查逐漸和外來鍵的字元編碼,儲存引擎
4.檢查主表是否存在


ERROR 1364 (HY000): Field ‘id’ doesn’t have a default value

在這裡插入圖片描述

出現原因

欄位約束為not null,但是插入資料時並沒有賦值

解決辦法

給該欄位新增預設值
或設定為主鍵自增,
或去掉該列屬性not null


ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails

在這裡插入圖片描述

出現原因

該表是主表,其他表中外來鍵存有該表的主鍵

解決方案

先刪除從表(存有該表主鍵的表),再刪除即可解決


ERROR 1067 (42000): Invalid default value for ‘gender’

在這裡插入圖片描述

出現原因

在建立表的時候使用到了漢字,但是字符集編碼不統一,導致錯誤.

解決辦法

設定字符集
如何設定字符集?

持續更新```````````