我很納悶,爲什麼查詢奇怪的MySQL導致
select * from (select * from users join users a) b
原因Duplicate column name
錯誤?內部查詢返回帶有重複列的結果集,後綴爲_1,外部列顯示錶中的列。
我很納悶,爲什麼查詢奇怪的MySQL導致
select * from (select * from users join users a) b
原因Duplicate column name
錯誤?內部查詢返回帶有重複列的結果集,後綴爲_1,外部列顯示錶中的列。
這是正確的行爲,因爲子查詢選擇列表中的任何列必須具有唯一名稱(Subqueries in the From Clause)。您還可以檢查here,這是舊版mysql中的一個錯誤,它允許您執行此操作。
在子查詢中的列可能有獨特的名稱,以便做到這一點
select a.id, b.id, a.col1, b.col2, b.col3 from (select a.col1, a.id from users join users a) b
其中id,COL1,COL2,COL3是我由
爲什麼安全標籤列名? – Bruno 2010-09-01 15:29:26
因爲這可能是在SQL注入中顯示錶中所有列的方式(使用USING) – Fluffy 2010-09-01 15:30:41
不確定我在這裏。當然,即使在考慮將其作爲參數傳遞給它之前,您也應該對輸入進行清理並將其放入適當的引用內(儘管您在此示例中未使用參數)。 – Bruno 2010-09-01 15:48:56