我有以下形式的查询:
UPDATE TableName SET some="1", fields="two"
WHERE some_condition="true"
IF @@ROWCOUNT=0 INSERT INTO TableName(some, fields) VALUES ("1", "two");
此查询是用 MS SQL 编写的,但我想将其转换为 MySQL。我查了几个 refs 说用 ROW_COUNT() 替换 @@ROWCOUNT|但我不知道该怎么做。
关于如何将此类查询从 MS SQL 转换为 MySQL 的任何想法?
最佳答案
一种更优雅的处理方式是……
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");
END
关于mysql - 如何将 UPDATE WHERE IF @@ROWCOUNT == 0 查询从 MS SQL 转换为 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31526267/