如何将多个表(具有相同列名)复制到新表 <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,
);

我希望实现的是尝试将上述所有表 t1、t2、t3 复制到新表 new_table 中。
类似的东西:(sql 错误)
CREATE TABLE new_table
  AS (SELECT p1,p2,op1,op2)
      FROM t1,t2,t3);

此外,如果我创建了新表,我希望每次更新表 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;

如果其中一个表被更新,它会自动反射(reflect)在 View 上。
  • VIEW
  • 关于mysql - 如何将多个表(具有相同列名)复制到一个新表 <SQL>。?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13539448/

    10-11 02:23