目前我面临一个相当奇怪的要求,但不过,它必须得到解决!
我们有几个表,名称如下:
file_1,file_2,file_3。
如果用户在file_1中插入一行,则必须将其复制到file_2& file_3。如果用户在file_2中插入一行,则必须在file_1& file_3。我已经尝试过这样创建一个触发器:
CREATE TRIGGER duplicatepictures BEFORE INSERT ON wp_ngg_pictures
FOR EACH ROW
INSERT INTO wp_2_ngg_pictures(post_id, galleryid, filename, description, alttext, imagedate, exclude, sortorder, meta_data)
VALUES (NEW.post_id, NEW.galleryid, NEW.filename, NEW.description, NEW.alttext, NEW.imagedate, NEW.exclude, NEW.sortorder, NEW.meta_data);
但是这没有用,因为没有插入行,如果将此触发器添加到多个表中。
整个事情必须在SQL中解决,因为将信息输入数据库的程序无法更改。有什么建议吗?
更新:
我忘记了,在插入行之后,它们必须可以独立编辑。
答案 0 :(得分:0)
您可以使用视图解决它(需要MySQL 5)。
创建一个包含所有文件的表(例如file_all)并插入所有现有记录。
然后删除file_1,file_2和file_3:
drop table file_1;
drop table file_2;
drop table file_3;
然后创建3个视图:
create view file_1 as select * from file_all;
create view file_2 as select * from file_all;
create view file_3 as select * from file_all;
上的文档
答案 1 :(得分:0)
file_2和file_3可以成为file_1的别名吗?