2011-07-20 105 views
0

這裏是我的表:如何在MySql中聲明變量?

ID名稱計數

1蘋果1

2桃1

如果我只是有名稱和被設置爲 「安全更新模式」(下MySQL的這種模式下,無法更新表中的輸出鍵在哪裏)。所以我需要首先獲得名稱Id,然後更新行。

在SQLSERVER,我能做到象下面這樣:

DELCARE @Id INT; 
SELECT @Id=(SELECT Id FROM MyTable WHERE Name='Apple') 

IF(@Id IS NOT NULL) 
BEGIN 
    UPDATE MyTable 
    SET Count=2 
    WHERE [email protected] 
END 

在MySQL中,我該怎麼辦?

回答

2

您需要使用set關鍵字來聲明變量,但您並不需要它。

UPDATE MyTable 
    SET Count=2 
    WHERE ID IN (SELECT * FROM (SELECT ID FROM MyTable WHERE name = 'Apple') S) 

這不是最有效的在世界上,但在更新查詢取決於它的更新表,它充當一個變通。