我在MySQL中创建了一个包含很多表的数据库。我希望一个表的值也自动保存在另一个表中。
例如我在:table1.lastname上写了一些内容,我希望它也存储在table2.lastname中。
如何使用PHP My Admin调用此方法以及如何执行此操作?
答案 0 :(得分:0)
CREATE TABLE new_table_name LIKE old_table_name
Create trigger after_insert on new_table
like this
CREATE TRIGGER `AFTER_INSERT` AFTER INSERT ON `new_table_name` FOR EACH ROW BEGIN
insert into new_table_name (column_names) values (column_values) ;
END
答案 1 :(得分:0)
首先,您必须为数据存储创建表。 然后,您必须在有意义的表上为catch事件创建触发器,并在早期创建的表中插入数据。
答案 2 :(得分:-1)
这将做你想要的:
INSERT INTO table2 (lastname)
SELECT lastname
FROM table1
如果要包含table1中的所有行。否则,如果只想添加table1的子集,则可以在末尾添加WHERE语句。
我希望这会有所帮助。
如果表格不存在,您可以创建一个具有相同模式的表格,如下所示:
CREATE TABLE table2 LIKE table1;
然后,复制数据:
INSERT INTO table2 SELECT * FROM table1
或者如果表格具有不同的结构,您还可以:
INSERT INTO table2 (`col1`,`col2`) SELECT `col1`,`col2` FROM table1;
编辑:限制这个..
INSERT INTO table2 (`col1_`,`col2_`) SELECT `col1`,`col2` FROM
table1 WHERE `foo`=1