我有一个以下形式的查询:
UPDATE TableName SET some="1", fields="two"
WHERE some_condition="true"
IF @@ROWCOUNT=0 INSERT INTO TableName(some, fields) VALUES ("1", "two");这个查询是用MySQL编写的,但我想把它翻译成MySQL。我查了几篇关于用ROW_COUNT()替换@@ROWCOUNT的推荐信,但我不确定该怎么做。
有没有办法把这样的查询从MySQL转换成MySQL?
发布于 2015-07-21 05:16:02
更优雅的处理方式应该是这样的……
IF EXISTS(SELECT 1 FROM TableName WITH (UPDLOCK, HOLDLOCK)
WHERE some_condition= "true" )
BEGIN
UPDATE TableName
SET some = "1"
, fields = "two"
WHERE some_condition= "true" ;
END
ELSE
BEGIN
INSERT INTO TableName(some, fields) VALUES ("1", "two");
ENDhttps://stackoverflow.com/questions/31526267
复制相似问题