2011-01-26 158 views
0

我想增加'sellingDate'字段在'公司'表中。MYSQL嵌套查詢新手問題

UPDATE company 
    SET sellingDate = ((SELECT DATE_ADD((SELECT sellingDate 
              FROM company 
             WHERE cid = '35'), INTERVAL 1 DAY))) 
WHERE cid = '35'; 

該查詢給了我一個錯誤說:

錯誤代碼:1093
您不能指定目標表 '公司' 的更新在FROM子句

上午什麼我在這裏做錯了嗎?

+0

謝謝大家的回覆。 – m0dE 2011-01-26 06:04:34

回答

2

用途:

UPDATE company 
    SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) 
WHERE cid = '35' 

MySQL不允許在對同一個表UPDATE語句子查詢,但是子查詢是不必要的這個例子。出於某種奇怪的原因,UPDATE語句中的自連接不會返回1093錯誤,儘管它是相同的邏輯。

0

嘗試:

UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35'; 
0

不能使用來自同一個表,要更新 子查詢但是,您可以通過此查詢

UPDATE company SET sellingDate=DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35'; 
0

爲什麼你需要使用嵌套實現相同查詢以增加此字段?

UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35';