MariaDB SELECT and Update的正确SQL语法
我正在尝试为一个SQL查询找出正确的语法,该查询目前采用MS SQL Server语法,并且需要使用MariaDB可以使用的语法重新编写 我需要运行SELECT语句,然后根据结果运行更新 这是我为重新编写而尝试的:MariaDB SELECT and Update的正确SQL语法,sql,mariadb,Sql,Mariadb,我正在尝试为一个SQL查询找出正确的语法,该查询目前采用MS SQL Server语法,并且需要使用MariaDB可以使用的语法重新编写 我需要运行SELECT语句,然后根据结果运行更新 这是我为重新编写而尝试的: SELECT status FROM addynamics.active_status WHERE "table" = "dynamics_time" IF (status = 3) UPDATE active_status SET
SELECT
status
FROM
addynamics.active_status
WHERE
"table" = "dynamics_time"
IF (status = 3)
UPDATE
active_status
SET
status = 4
WHERE
"table" = 'dynamics_time'
END IF;
但这给了我一个语法错误。这应该是什么样子?我理解您的要求是正确的,您的声明应该是:
update addynamics.active_status
set status = 4
WHERE `table` = "dynamics_time" and status=3
据我所知,您的要求是正确的,您的声明应该如下所示:
update addynamics.active_status
set status = 4
WHERE `table` = "dynamics_time" and status=3
当你可以把它们作为一个整体来做的时候,你正在尝试做两件不同的事情。你不需要选择任何东西来进行更新,除非你想在更新之前进行更新,以确保你拥有正确的数据 正如Jens@Jens所说,这样做会给你带来想要的结果:
UPDATE addynamics.active_status
SET STATUS = 4
WHERE `table` = 'dynamics_time' and status = 3
当你可以把它们作为一个整体来做的时候,你正在尝试做两件不同的事情。你不需要选择任何东西来进行更新,除非你想在更新之前进行更新,以确保你拥有正确的数据 正如Jens@Jens所说,这样做会给你带来想要的结果:
UPDATE addynamics.active_status
SET STATUS = 4
WHERE `table` = 'dynamics_time' and status = 3