MySQL Threw "1062 - Duplicate Entry" Even There Are Not Duplicated Rows

插入資料至MySQL資料庫時,沒有重複資料列卻顯示1062 – Duplicate Entry

目錄

    原始文章

    插入資料至MySQL資料庫時,沒有重複資料列卻顯示1062 – Duplicate Entry


    當我從網路上下載台股的券商分點買賣資料,並使用Python insert至MySQL出資料庫時,MySQL回傳以下錯誤訊息:

    1062 – Duplicate entry ‘2022-02-10-1712-116M-29.65’ for key ‘PRIMARY

    即使使用Pandas重覆確認後,仍然看不出哪裡有重複資料,仔細一查才找到幾個線索,以下一一列舉。

    Null

    理論上Primary Key是不允許Null的,因此Null可能會導致insert出錯。

    編碼

    有些資料庫的編碼方式是不區分大小寫的(case-insensitive),這也是我在寫入資料庫時會出錯的原因。

    是否使用Float Column當成Primary Key

    根據should we use float as primary key in sql-server,資料庫通常不會阻止你用浮點數的欄位當成主鍵,但強烈不建議這麼做。



    推薦文章

    Aron

    搭載商業思維的資料科學家,工業設計系畢業,曾任職知名品牌行銷企劃。下班後寫機器學習模型,寫網站,也寫文章。興趣是把Side Project當成創業題目來玩,把人生當成遊戲破關。

    facebook telegram

    推薦書單

    研究生完全求生手冊:方法、秘訣、潛規則
    研究生完全求生手冊:方法、秘訣、潛規則 ⭐⭐⭐⭐⭐
    臺灣的勝算
    臺灣的勝算 ⭐⭐⭐⭐⭐
    《三體》系列套書
    《三體》系列套書 ⭐⭐⭐⭐⭐
    故事課1:3分鐘說18萬個故事,打造影響力
    故事課1:3分鐘說18萬個故事,打造影響力 ⭐⭐⭐⭐⭐

    發佈留言

    • * 表示必填欄位
    • 您填寫的電子郵件不會被公開
    • 請確認您的電子郵件正確無誤,當您的留言收到新的回覆時,我們會寄送通知信件給您

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *