mysql 未知列_mysql – ‘字段列表’连接中的未知列’..’
您在此查詢中至少有兩個問題.
首先,當您使用反向標記來分隔標識符時,必須將表別名與列名稱分開.
`verk.id` -- WRONG
`verk`.`id` -- CORRECT
原因是SQL實際上允許您定義包含標點符號,空格等的列名稱,如果您分隔列名稱.這就是你似乎正在做的事情,請求一個名為verk.id的列
verk.id -- ALSO CORRECT
正如其他人所評論的那樣,您通常不需要使用分隔標識符.如果您的標識符與MySQL Reserved Words沖突,或者您需要使用標點符號,空格或國際字符,請使用它們.
第二個問題是MySQL不支持FULL JOIN.它甚至不將FULL識別為SQL關鍵字.所以你的查詢形成如下:
...
FROM
`verk`
FULL JOIN
`loginuser_aqa`
ON ...
由MySQL解釋,就好像你已經這樣做了:
...
FROM
`verk` AS `FULL`
JOIN
`loginuser_aqa`
ON ...
換句話說,由于AS是SQL中的可選關鍵字,因此您只需將FULL設置為verk的表別名.
定義表別名時,必須對屬于該表的任何列使用表別名.您不能再將列引用為verk.id,您必須使用FULL.id.這部分是標準的SQL行為,而不是MySQL的錯誤.
另一個問題是你沒有在查詢結果中獲得FULL OUTER JOIN,你只是得到一個簡單的JOIN,它是INNER JOIN的同義詞.沒有錯誤,但如果您需要完整的外部聯接,您將無法獲得預期的結果.
我在2013年報告了MySQL不支持FULL作為保留字的問題:https://bugs.mysql.com/bug.php?id=69858如果您想通過登錄并單擊該頁面上的“影響我”按鈕,您可以將您的投票添加到錯誤的優先級.
如果您需要在MySQL中執行FULL OUTER JOIN,則必須使用變通方法.見這里的例子:Full Outer Join in MySQL
總結
以上是生活随笔為你收集整理的mysql 未知列_mysql – ‘字段列表’连接中的未知列’..’的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: github怎么自动更新被人更新过的项目
- 下一篇: 果园备案确认书(果园备案)