![](/img/trans.png)
[英]How to fix MySQL error “The used SELECT statements have a different number of columns”
[英]Error: The used SELECT statements have a different number of columns, how is fix it?
是什么原因導致此錯誤? 如何解決?
$find = 'hello';
$data = $this->db->query('SELECT * FROM tour_foreign_residence WHERE name LIKE "%' . $find . '%" UNION SELECT * FROM tour_foreign WHERE name LIKE "%' . $find . '%"');
錯誤:
發生數據庫錯誤
錯誤號:1222
所使用的SELECT語句的列數不同
SELECT * FROM tour_foreign_residence WHERE名稱類似“%hello%” UNION SELECT * FROM tour_foreign_residence WHERE名稱類似“%hello%”
文件名:D:\\ xampp \\ htdocs \\ system \\ database \\ DB_driver.php
行號:330
使用UNION
運算符有兩個主要規則:
在您的情況下,第一個規則將被忽略。 使用join
運算符
您確定需要UNION嗎?
UNION要求您要合並的所有查詢的SELECT子句中的列數均相同,因此不應使用*,而應寫出需要查詢的字段。 同樣,笨拙的對象必須具有相同的數據類型。
不要在查詢中使用SELECT *
。 而是寫下要從數據庫中獲取的實際列名。 兩個表中的列名應相同。 您當前有一個UNION
,看起來tour_foreign_residence
表和tour_foreign
表具有不同的列。
UNION中的每個SELECT語句必須具有相同的列數。 這些列還必須具有相似的數據類型。 另外,每個SELECT語句中的列必須具有相同的順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.