2017-02-15 104 views
0

我試圖是否存在其他SQL這將進一步在C#中的winform與MySQL使用寫,這裏是測試如何,如果存在其他在MySQL語句中使用

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

我adminer跑上面的SQL但有錯誤訊息, 第1行'select * from products'的語法錯誤

任何人都知道問題是什麼?

+2

應該怎樣查詢呢? – GurV

+0

插入如果不存在其他更新 – hkguile

+0

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

回答

0

首先,你應該創建列的唯一約束。

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的語法不是mysql –

+0

用create procedure編輯我的答案。 –