首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL ERROR 1222: UNION 兩邊列數不一致解決

     編輯:MySQL 資料庫相關知識

錯誤信息

ERROR 1222 (21000): The used SELECT statements have a different number of columns

原因

UNION 要求參與合併的每個 SELECT 返回的列數、列順序、數據類型兼容完全一致。

排查清單

  1. 兩邊 SELECT 列表列數是否相同
  2. 對應位置類型是否可隱式轉換(如 INT vs VARCHAR)
  3. 是否有隱式 SELECT * 導致結構變更

修正範例

-- 錯誤
SELECT id, name FROM a UNION SELECT id FROM b;
-- 正確
SELECT id, name FROM a UNION SELECT id, name FROM b;
-- 或補齊
SELECT id, name FROM a UNION SELECT id, NULL AS name FROM b;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved