Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MariaDB SELECT and Update的正确SQL语法_Sql_Mariadb - Fatal编程技术网

MariaDB SELECT and Update的正确SQL语法

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

我正在尝试为一个SQL查询找出正确的语法,该查询目前采用MS SQL Server语法,并且需要使用MariaDB可以使用的语法重新编写

我需要运行SELECT语句,然后根据结果运行更新

这是我为重新编写而尝试的:

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