2013-10-15 75 views
1

我試圖做到這一點例如:UPDATE選取和LIMIT

UPDATE box 
    SET idsector=19, 
     fechaasignacion='2013-10-04 10:12:30', 
     resumen='bla bla bla', 
     palabrasclave='papapa papapapa', 
     libre=0, publico=1 
WHERE idbox = (SELECT idbox FROM box WHERE libre=1 LIMIT 1); 

我得到這個錯誤「[錯誤] 1235 - 該版本的MySQL還不支持「LIMIT & IN/ALL/ANY/SOME子查詢'「但是,閱讀mysql參考手冊它應該與LIMIT一起工作。

該查詢必須更新表格框中的一個字段,WHERE子句指定必須查找並選擇值爲「libre = 1」的第一個字段。我希望你能理解

+3

MySQL也不支持使用在子選擇中更新的表。您需要將您的聲明重寫爲聯接。 –

回答

1

爲什麼不在更新查詢中使用子查詢中的where子句?像這樣:

UPDATE box 
    SET idsector=19, 
     fechaasignacion='2013-10-04 10:12:30', 
     resumen='bla bla bla', 
     palabrasclave='papapa papapapa', 
     libre=0, publico=1 
WHERE libre=1 
LIMIT 1;