2011-07-20 48 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) 

这不是最有效的在世界上,但在更新查询取决于它的更新表,它充当一个变通。