MySQL 1054錯誤 Unknown column .... in 'on clause'
ERROR 1054 (42S22): Unknown column ... in 'on clause'
原因:
MySQL5.0 Bug, 要把聯合的表用括號包含起來才行:
例:
Sql程式碼
SELECT (c.id, a.id, b.id) FROM A a, B b LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id
這句話執行應該是沒有錯誤的,但是Mysql 5 下執行則會出錯。
因為mysql下有這樣一個BUG,要把聯合的表用括號包含起來才行:
Sql程式碼
SELECT (c.id, a.id, b.id) FROM (A a, B b) LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id
但是HQL生成就是這樣的語句,怎麼辦呢?我們可以改變HQL的寫法來達成生成另一種SQL語句,以避免這種BUG的出錯
把select (c.id, a.id, b.id) from C c Left join c.a a Left join c.b b
則會生成
Sql程式碼
SELECT (c.id, a.id, b.id) FROM A a LEFT JOIN B b LEFT JOIN C c ON c.a_id = a.a_id AND c.b_id = b.b_id
這樣的話mysql下就不會出錯了。
以上文章了來自網路。
相關推薦
MySQL 1054錯誤 Unknown column .... in 'on clause'
提示:ERROR 1054 (42S22): Unknown column ... in 'on clause'原因:MySQL5.0 Bug, 要把聯合的表用括號包含起來才行:例:Sql程式碼 SELECT (c.id, a.id, b.id) FROM A a, B b
mysql 1054錯誤 "Unknown column 'xxx' in 'field list'"
出現問題的程式碼如下: s = '測試' sql = "INSERT INTO ffff(ID) VALUES (%s)" % (s) try: cursor.execute(sql) db.commit() print("寫入成功") except Exception as
mysql下出現Unknown column 'id' in 'on clause'的解決方法
select vinfo.vid_id, vid_name, vid_leadrole, vid_desc, vid_director, vid_date, vid_area, vid_pic, vid_score, vid_info, vinfo.cid, vid_ser
mysql命令 出現ERROR 1054 (42S22): Unknown column 'password' in 'field list'
list round services star 只需要 pass net code 報錯 1、安裝 brew install msyql 2、更新 brew upgrade mysql 3、啟動 To have launchd start mysql now and re
mysql5.7的密碼修改錯誤問題:ERROR 1054 (42S22): Unknown column 'password' in 'field list'的解決
本意向修改一個使用者的密碼,網上搜到的命令為如下 1 mysql> update user set password=password(“新密碼”) where user=”使用者名稱”; 執行後報錯 E
python操作資料庫出現錯誤 : Unknown column 'XXXX' in 'where clause'")錯誤
今天練習的時候,出現了這種坑爹的錯誤,找了好久,終於知道錯誤原因了,貼出修改的地方 在MySQL資料庫中存在中文的字元,python操作資料庫的語句如下 sql = "select * from t
Sql語句錯誤 Unknown column xxx in where clause
Sql語句錯誤 但凡寫過sql語句的人估計都曾經碰到過類似於Unknown column ‘xxx’ in ‘where clause’的問題。 單從字面理解,我們很容易得出 列名不存在的結論,但是,很多時候起始並不是由於列名出錯造成的。而是由於拼湊sq
MySQL5.7更改密碼時出現ERROR 1054 (42S22): Unknown column 'password' in 'field list'
新安裝的MySQL5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入update mysql.user set password=password('root') where user='root'時提示ERROR 1054 (42S22):
MySQL5.7更改密碼時出現ERROR 1054 (42S22): Unknown column 'password' in 'field list'
新安裝的MySQL5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入update mysql.user set password=password('root') where
Unknown column '' in 'field list'
Unknown column ‘’ in ‘field list’ 解決辦法 正確寫法: cursor.execute("update book set name='%s' where
MySQL5.7更改密碼時出現ERROR 1054 (42S22): Unknown column 'password'
新安裝的Mysql5.7,登入時提示密碼錯誤,安裝的時候並沒有更改密碼,後來通過免密碼登入的方式更改密碼,輸入 update mysql.user set password=password('r
Unknown column '' in 'field list'解決方案
很多人在用 php+MySQL 做網站往資料庫插入資料時發現如下錯誤:註冊失敗!Unknown column '1a' in 'field list'結果發現用數字提交是沒有問題的,其他如char型就
java.lang.Exception: 資源處理失敗,失敗原因:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '?????‰' in 'where clause'
exception 替換 div name jdbc unknown syn lan -s 1:Unknown column ‘?????‰‘ in ‘where clause‘,這個問題,百度一搜,挺多的,但是貌似好像沒有解決我的問題。貼一下我是如何拼接sq
Mysql 5.7 用group by 分組時錯誤:functionally dependent on columns in GROUP BY clause; this is incompatible
/etc/mysql/mysql.conf.d$ vim mysqld.cnf 在檔案頭出新增如下內容: sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUT
MYSQL:Unknown column '欄位名' in 'field list' 錯誤
這個錯誤是說表中的這個欄位不存在,而在檢查SQL語句完全無誤後,可以檢查下表中的資料型別設定或者字元編碼格式,比如我出現這個錯誤時,是因為我本身資料庫使用的是gbk格式,但是後來我加了個欄位是utf8編
MySql報錯原因分析Unknown column ‘xxx’ in ‘where clause’
在更新資料庫時曾經碰到過類似於Unknown column ‘xxx’ in ‘where clause’的問題。 單從字面理解,我們很容易得出列名不存在的結論,但是,很多時候起始並不是由於列名出
關於mysql 5.7版本“報[Err] 1093 - You can't specify target table 'XXX' for update in FROM clause”錯誤的bug
title _id fma xxx tps ice sql each targe 不同於oracle和sqlserver,mysql並不支持在更新某個表的數據時又查詢了它,而查詢的數據又做了更新的條件,因此我們需要使用如下的語句繞過: UPDATE teaching_de
錯誤: nknown column 'xxxx' in 'where clause'
app ror -a col 相關 del dpa tid reflect nknown column ‘sdsds‘ in ‘where clause‘ 運行環境:jdk1.7.0_17+tomcat 7 + spring:3.2.0 +mybatis:3.2.7+
【MySQL】Unknown column 'column_name' in 'field list'
img 分享 column http into .com field 解決 pre 使用 INSERT INTO … SELECT FROM … ON DUPLICATE KEY UPDATE 時遇到了這個問題,百思不得其解?? 後來總算找到了解決方法,使用子查詢。如下:
mysql錯誤:Column ‘id’ in field list is ambiguous
原因:從join的表中進行select時,兩個表都有id屬性,列’ID’在欄位列表中重複,其實就是兩張表有相同的欄位,但是使用時表字段的名稱前沒有加表名,導致指代不明,前面加上字首“表名”就沒問題了。 SELECT a.* FROM d