如何在phpMyAdmin中检查已存在的表,以避免在新表中添加数据时出现重复

时间:2017-01-16 10:11:50

标签: mysql

我希望在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中。

1 个答案:

答案 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