MySQL采坑記

MySQL版本:8.0.15
操作系統(tǒng):Windows 10

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

將本地文件導(dǎo)入數(shù)據(jù)庫時,使用命令LOAD DATA LOCAL INFILE,遇到上述錯誤,這是因為mysql默認關(guān)閉本地文件導(dǎo)入功能,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)

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

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

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

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

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

外鍵約束

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

  1. 建表時添加
    在CREAT TABLE語句括號內(nèi)添加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查看

C/C++相關(guān)

簡單的連接MySQL的程序:

#include <stdio.h>
#include <mysql.h>

int main(int argc, char **argv)
{
    MYSQL mysql_conn; /* Connection handle */

    if (mysql_init(&mysql_conn) != NULL)
    {
        printf("Init succeeds!\n");
    }
    else
    {
        printf("Init fails!\n");
    }
    return 0;
}

編譯命令:gcc mysql.c -o mysql.exe -I D:/mysql/include -L D:/mysql/lib -l libmysql
-I 后是頭文件的位置
-L 后是庫文件的位置
-l 后是庫名,用來指定程序要鏈接的庫,不加上可能會遇到錯誤:undefined reference to mysql_init

編譯成功以后,若直接在cmd上運行,會提示由于找不到libmysql.dll,無法繼續(xù)執(zhí)行代碼,若在PowerShell上運行沒有提示但程序不能正常運行

需要從MySQL安裝目錄下lib文件夾里面的libmysql.lib和bin文件夾里面的libeay32.dll兩個文件復(fù)制到項目文件夾中。

若只復(fù)制libmysql.lib,在cmd上運行會提示無法定位序數(shù)3283于動態(tài)鏈接庫 ..\libmysql.dll 上,在PowerShell上運行沒有提示但程序不能正常運行,在Git Bash上可以正常運行

參考
Mac下MySQL中LOAD DATA INFILE出現(xiàn)The used command is not...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 0. 序言 學習數(shù)據(jù)結(jié)構(gòu)之余,來LeetCode上刷刷簡單的算法題,如果你對LeetCode刷題感興趣,歡迎關(guān)注我...
    付凱強閱讀 443評論 0 3
  • 往東三百里,一座山的輪廓 便遙遙向我撲來 蟲魚草木之音,紛紛落于耳后 一如武陵桃源里,阡陌交通 再往東三百里,尋聲...
    晚歸的風啊閱讀 569評論 21 68
  • 又一個三十天過去了,孩子在這個周期的表現(xiàn)沒有達到要求。對比第一個三十天和第二個三十天的表現(xiàn),最后這三十天明顯感覺到...
    劉正爸爸閱讀 267評論 0 0
  • 【減脂早餐】NO:01 每一次體驗班的時候,我又回到飲食計劃。 早餐: 1.五谷雜豆豆?jié){+小麥胚芽。 2.五角星煎...
    林君莉閱讀 10,208評論 0 1
  • 屋內(nèi)窗明幾凈,暖暖的陽光從窗臺射入,斜射的光陰透過窗簾映照在房間的各個角落,散落在潔白無瑕的床上,靜靜地落在她身上...
    楊雨涵余生與你同行閱讀 548評論 0 0

友情鏈接更多精彩內(nèi)容