我希望在phpMyAdmin中创建新表(table2)并添加我的其他特定表(table1)中不存在的详细信息。
例如。 我有两个表:
Table1
-------------
edm_id user_id name email
1 3 A abd@mail.com
2 3 b efg@mail.com
3 3 c hij@mail.com
Table2
--------
edm_id user_id name email
1 3 d fgh@mail.com
2 3 e ijk@mail.com
现在,条件是如果我尝试在table2中添加新数据(hij@mail.com)我希望table2不允许,因为它已经存在于table1中。
答案 0 :(得分:0)
您可以定义一个触发器,检查table2中是否存在数据说错误
CREATE DEFINER=`remote`@`%` TRIGGER `Table2_before_insert` BEFORE INSERT ON `Table2` FOR EACH ROW BEGIN
DECLARE emailTable1 varchar(50);
DECLARE msg VARCHAR(255);
set msg = "duplicate record";
SET emailTable1 = (
SELECT email from table1 where email=new.email);
if emailTable1 is not null then
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
end if;
END