如果满足后如何结束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;
但是这没用。
答案 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'
);