2012-11-07 100 views
0

你好,我想設置一個表列我與更新查詢嘗試,但我有語法錯誤與更新列選擇

$cmts="UPDATE stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell SET stat_alert.`cmts` = cell_cmt.`Cmts`"; 
$cmt= mysql_query($cmts)OR DIE("Erreur sur la requete"); 

我ERREUR拉河畔requete 誰可以幫我

+0

(英文)OP指出他在request_中得到_Error。 –

回答

1

這裏是UPDATE正確的語法與JOIN

UPDATE stat_alert 
INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell 
SET 
    stat_alert.`cmts` = cell_cmt.`Cmts` 

MySQL的UPDATE決定了表引用stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell直接在UPDATE子句之後。那就是你錯過的東西。

+0

查詢:UPDATE stat_alert FROM stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell SET stat_alert.'cmts' = cell_cmt.'Cmts' ... 錯誤代碼:1064 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「FROM stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell SET 」第2行 – user1794019

+0

@ user1794019正確的語法手冊 - 見我的編輯 –

+0

需求SQLyog的是正確,但它是行不通的,當我把這個查詢在PHP錯誤請求 – user1794019

1

您正在使用的MSSQL UPDATE with JOIN版本,在MYSQL,就應該是這樣的,(FROM關鍵字不應指定

UPDATE stat_alert a 
     INNER JOIN cell_cmt b 
      ON a.cell = b.cell 
SET a.`cmts` = b.`Cmts` 
+0

$ cmts =「UPDATE stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell SET stat_alert.'cmts' = cell_cmt.'Cmts'」; $ cmt = mysql_query($ cmts)或DIE(「Erreur sur la requete」);錯誤,但它的作品在sqlyog :( – user1794019

+0

什麼錯誤已生成? –

+0

我有這個錯誤Erreur sur la requete – user1794019

2

試試這個代碼:你有語法錯誤,因爲在集合之前已經去過了。設置必須在內部連接後

UPDATE stat_alert a 
INNER JOIN cell_cmt b ON a.cell = b.cell 
SET a.`cmts` = b.`Cmts` 
+0

查詢:UPDATE stat_alert從stat_alert INNER JOIN cell_cmt ON stat_alert.cell = cell_cmt.cell SET stat_alert.'cmts' = cell_cmt .'Cmts' ... 錯誤代碼:1064 您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的「FROM stat_alert INNER JOIN cell_cmt ON stat_alert正確的語法手冊.cell = cell_cmt.cell SET 'at line 2 – user1794019

+0

編輯我的答案有一個更正 –

+0

應該沒有'FROM'關鍵字 –