MySQL採坑記

MySQL版本:8.0.15
操作系統:Windows 10

ERROR 1148 (42000): The used command is not allowed with this MySQL version

將本地文件導入數據庫時,使用命令LOAD DATA LOCAL INFILE,遇到上述錯誤,這是因爲mysql默認關閉本地文件導入功能,Security Issues with LOAD DATA LOCAL

解決方法
登錄mysql後,輸入命令:set global local_infile = 'ON';
退出,重新登錄:mysql --local-infile=1 -u root -p

ERROR 2 (HY000): File 'D:pet.txt' not found (OS errno 2 - No such file or directory)

在練習文件導入時,使用命令LOAD DATA LOCAL INFILE "D:\pet.txt" INTO TABLE pet;遇到了這個錯誤,而文件確實存放在D盤下,其實只是反斜槓號的問題,應該寫兩個

解決方法
LOAD DATA LOCAL INFILE "D:\\pet.txt" INTO TABLE pet;

ERROR 1300 (HY000): Invalid utf8mb4 character string: ''

導入帶中文字符的txt文件到mysql時,遇到上述錯誤。txt文件的默認編碼格式爲ANSI,而數據庫的編碼格式在初始化時一般會設置成utf-8(實際上我在安裝MySQL 8.0時,按照提示改成了UTF8MB4),導入英文數據時沒有發現問題,但是導入中文數據時就遇到了錯誤

解決方法
將txt文件保存爲utf-8格式:打開txt文件 -> 文件 -> 另存爲 -> 編碼選擇utf-8

外鍵約束

以 爲PROJECT的DNO屬性添加DEPARTMENT表的DNO外鍵爲例

  1. 建表時添加
    在CREAT TABLE語句括號內添加FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DNO)
  2. 建表後添加
    ALTER TABLE PROJECT ADD CONSTRAINT FOREIGN KEY(MGRSSN) REFERENCES DEPARTMENT(DNO);
  3. 刪除外鍵約束
    ALTER TABLE table_name DROP FOREIGN KEY constraint_name
    其中約束名(constraint_name)通過命令SHOW CREAT TABLE table_name查看

參考
Mac下MySQL中LOAD DATA INFILE出現The used command is not...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章