萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL "Column 'xxx' specified twice" 錯誤:重複欄位名稱快速定位與修復

錯誤訊息

ERROR 1060 (42S21): Column 'content' specified twice

根因

SQL 語句中同一欄位名稱出現兩次,常見於:

  • INSERT INTO t (a, b, a) VALUES (1,2,3) — 重複欄位
  • SELECT a, b, a FROM t — 重複選取(通常只是警告)
  • CREATE TABLE t (a INT, a INT) — 重複定義
  • JOIN 多表未別名導致同名欄位衝突

快速修復

  1. 檢查 SQL 語句的欄位列表(INSERT 括號內、SELECT 列表、CREATE TABLE 定義)
  2. 刪除重複欄位或為衝突欄位加上表別名:t1.content, t2.content AS content2
  3. 若為動態生成 SQL,檢查陣列去重邏輯

實例

-- 錯誤
INSERT INTO articles (title, content, content) VALUES ('標題', '內容', '內容');

-- 正確
INSERT INTO articles (title, content) VALUES ('標題', '內容');

預防建議

  • 使用 IDE/編輯器的 SQL 語法高亮與錯誤提示
  • ORM/Query Builder 自動處理欄位去重
  • Code Review 關注動態 SQL 拼接邏輯
copyright © 萬盛學電腦網 all rights reserved