Вставьте, если не существует, Остальное обновление без DUPLICATE KEY или хранимой процедуры Mysql - PullRequest
0 голосов
/ 25 апреля 2019

Я хочу вставить, если не существует, Обновление с запросом в Mysql, но Faild.То, что я нашел до сих пор:

IF EXISTS(SELECT * FROM `subject` WHERE `branch_id` = 1) 
   THEN 
        BEGIN
            UPDATE `subject` SET (`name` ='KHAN') 
            WHERE `branch_id` = 1
        END        
    ELSE
        BEGIN
            INSERT INTO `subject` (`name`,`branch_id`) 
            VALUES('AMAAN', 1) 
        END 
END IF  

Что я получил

Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT * FROM `subject` WHERE `branch_id` = 1) 

1 Ответ

0 голосов
/ 25 апреля 2019

Возможно, попробовать несколько утверждений из вашей клиентской программы? Сначала выполните update, а затем, если ROW_COUNT() или эквивалент равен 0, затем выполните вставку. Конечно, insert on duplicate key update проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...