如何将多个表(具有相同的列名)复制到新表<SQL>?
喜欢:
CREATE TABLE t1
(
p1 longtext,
p2 longtext,
op1 varchar
op2 varchar,
);
CREATE TABLE t2
(
p1 longtext,
p2 longtext,
op1 varchar
op2 varchar,
);
CREATE TABLE t3
(
p1 longtext,
p2 longtext,
op1 varchar
op2 varchar,
);
Run Code Online (Sandbox Code Playgroud)
我希望实现的目标是尝试将上述所有表 t1、t2、t3 复制到新表 new_table 中。像这样的:(sql 是错误的)
CREATE TABLE new_table
AS (SELECT p1,p2,op1,op2)
FROM t1,t2,t3);
Run Code Online (Sandbox Code Playgroud)
另外,如果我创建了新表,我希望每次表 t1、t2、t3 同时更新时,new_table 也会更新。- 我需要为此使用触发器吗?
请帮我解决这个问题。
我猜你想用VIEW
CREATE VIEW new_Table
AS
SELECT p1, p2, op1, op2 FROM t1
UNION ALL
SELECT p1, p2, op1, op2 FROM t2
UNION ALL
SELECT p1, p2, op1, op2 FROM t3;
Run Code Online (Sandbox Code Playgroud)
如果其中一个表被更新,它会自动反映在视图上。