Правильный синтаксис SQL для выбора и обновления MariaDB - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь определить правильный синтаксис для запроса SQL, который в настоящее время имеет синтаксис сервера MS SQL и должен быть переписан в синтаксисе, который будет работать с MariaDB.

I необходимо выполнить инструкцию SELECT, а затем запустить обновление на основе результатов.

Это то, что я пытался переписать MariaDB:

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;

Но это давая мне синтаксическую ошибку. Как это должно выглядеть?

Ответы [ 2 ]

2 голосов
/ 15 января 2020

Как я правильно понимаю, ваши требования должны выглядеть следующим образом:

update addynamics.active_status
set  status = 4
WHERE `table` = "dynamics_time" and status=3
0 голосов
/ 15 января 2020

Вы пытаетесь сделать две разные вещи здесь, когда вы можете сделать их как одно. Вам не нужно ничего выбирать, чтобы иметь возможность делать ОБНОВЛЕНИЕ, если вы не хотите делать это раньше, просто чтобы убедиться, что у вас есть правильные данные.

Как сказал Дженс @Дженс, выполнение этого даст вам Желаемые результаты:

UPDATE addynamics.active_status
SET STATUS = 4
WHERE `table` = 'dynamics_time' and status = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...