0

我将如何在满足时结束 if 语句,然后在存储过程中执行 else if 否则?

我尝试在 if 语句之后结束 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;

但这没有用。

4

2 回答 2

1

为什么不使用忽略插入?

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

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

检查here以获得一些参考。

于 2012-05-24T12:39:10.510 回答
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'
);
于 2012-05-24T12:35:30.820 回答