2017-02-15 11 views
0

я пытаюсь написать, если существует еще SQL, который будет в дальнейшем использовать в C# WinForm с MySQL, вот тест, как использовать, если есть еще в тузде заявлении

IF NOT EXISTS(SELECT 1 from products where entity_id=1) select * from products; 

я побежал выше SQL в adminer но появляется сообщение об ошибке, Ошибка синтаксиса рядом с 'select * from products' по строке 1

Кто-нибудь знает, в чем проблема?

+2

что должен делать запрос? – GurV

+0

Вставить, если не существует еще обновление – hkguile

+0

http://stackoverflow.com/questions/15383852/sql-if-exists-update-else-insert-into –

ответ

0

Прежде всего, вы должны создать UNIQUE ограничение на колоннах.

ALTER TABLE products ADD CONSTRAINT fk_products UNIQUE (column1, column2, etc..) 

Затем просто вставьте данные:

INSERT INTO products (column1, column2, etc..) VALUES(value1, value2, etc..) ON DUPLICATE KEY UPDATE column1 = newValue, column2 = newValue2; 
0

попробовать это:

DELIMITER $$ 

     DROP PROCEDURE IF EXISTS `verifyExist` $$ 
      CREATE PROCEDURE `verifyExist`() 
      BEGIN 
      IF NOT EXISTS(SELECT 1 from products where entity_id=1) THEN 
      select * from products; 
      END IF; 
    END$$ 

     DELIMITER ; 
+0

Ошибка синтаксиса рядом с '' в строке 2 – hkguile

+0

Это синтаксис для mssql not mysql –

+0

Редактировать мой ответ с помощью процедуры создания. –