如果mysql语句中存在其他如何使用

时间:2017-02-15 18:31:58

标签: mysql sql stored-procedures

我正在尝试编写一个if exists else sql,它将在c#winform中进一步使用mysql,这里是测试

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

我在adminer中运行sql但是有一条错误消息, 第1行'select * from products'附近的语法错误

任何人都知道这是什么问题?

2 个答案:

答案 0 :(得分: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 ;

答案 1 :(得分: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;