如果条件满足,则中断IF语句

时间:2012-05-24 12:31:22

标签: mysql stored-procedures if-statement

如果满足后如何结束if语句,然后在存储过程中执行else呢?

如果在if语句之后我试过结束:

IF EXISTS (SELECT * FROM `db`.`tbl` WHERE email = "email@domain.com") END IF;
ELSE INSERT INTO `db`.`tbl` (email) VALUES ("email@domain.com"); END IF;

但是这没用。

2 个答案:

答案 0 :(得分:1)

为什么不使用忽略插入?

INSERT IGNORE INTO  `db`.`tbl` SET `email`= 'email@domain.com';

您必须在电子邮件中创建唯一索引。

检查here以获取一些参考。

答案 1 :(得分:0)

如果这个用于插入,如果该行尚不存在,则应使用:

INSERT INTO `table` (value1, value2) 
SELECT 'stuff for value1', 'stuff for value2' FROM `table` 
WHERE NOT EXISTS (
    SELECT * FROM `table` 
    WHERE value1='stuff for value1' AND value2='stuff for value2'
);