[英]MySQL create trigger on insert in tbl1 also insert to tbl2
我目前正在与一个客户合作,希望他们的数据库在最初插入数据库时将信息以另一种格式复制到另一个表中。
基本上像下面这样:
表格1
| ID | NAME | EMAIL | password |
--------------------------------------
| 1 | david | x@x.co | asx234 |
| 2 | anthony | y@x.co | 24gss3 |
| 3 | jillian | z@x.co | hdfg5d |
每次将一行插入表1中时,他们还希望从表1中获取该信息并将其添加到表2中。
表2
| ID | NAME | EMAIL | password | signature | level | lastenter | register_date |
-----------------------------------------------------------------------------------------------
| 1 | david | x@x.co | asx234 | text | 3 | 0000-00-00 | Date of insert |
| 2 | anthony | y@x.co | 24gss3 | text | 3 | 0000-00-00 | Date of insert |
| 3 | jillian | z@x.co | hdfg5d | text | 3 | 0000-00-00 | Date of insert |
如何设置触发器,以便每当在表1中插入一行时就将数据插入表2中?
谢谢!
以下是一些想法,但是触发器看起来像这样:
DELIMITER $$
DROP TRIGGER IF EXISTS trgMyNewTrigger $$
CREATE TRIGGER trgMyNewTrigger AFTER INSERT ON Table1
FOR EACH ROW
BEGIN
INSERT into Table2 (ID,NAME,EMAIL,`password`,signature,`level`,lastenter,register_date) VALUES (
new.ID, new.NAME, new.EMAIL, new.password, 'text', 3, '0000-00-00', CURDATE() );
END $$
DELIMITER ;
这不是一个很好的解决方案。 触发器通常会引起一些麻烦的问题,并限制您的能力。 最好重新考虑表的设计,使其包含所需的数据,让应用程序执行额外的步骤,或者使用某种ETL过程按设置的时间间隔获取数据。
我都会以明文密码为例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.