【问题标题】:Joining 2 tables with MySQL in a new table and trouble displaying new inserted data将 2 个表与 MySQL 连接到一个新表中,并且无法显示新插入的数据
【发布时间】:2017-10-07 17:17:41
【问题描述】:

我在 MySQL form1 中创建了 table1 和 table2。 Table1 保存名字、姓氏、年龄等数据,Table2 保存体重和体脂数据。

我使用此代码创建了一个新的 table3,其中显示了名字、姓氏和体重(但仅显示了已插入表中的数据):

Create table table3 as
Select table1.firstname, table1.lastname, table2.bodyweight
From table1
LEFT JOIN table2 ON table1.table1_id = table2.table2_id;

问题是,当我向 table1 插入新数据时,它们没有显示到 table3...关于可能是什么原因的任何想法?

【问题讨论】:

    标签: mysql sql left-join multiple-tables


    【解决方案1】:

    以这种方式创建表会复制选定的数据并将其插入到新表中。完成此操作后,此新表与查询中使用的表之间不再有任何关系。

    如果您想在 table1table2 更新时自动更新,您可以创建一个视图来代替:

    Create view table3 as
    Select table1.firstname, table1.lastname, table2.bodyweight
    From table1
    LEFT JOIN table2 ON table1.table1_id = table2.table2_id;
    

    【讨论】:

    • 您好!快速提问。有没有办法让视图像表格一样可编辑?
    • @ath_zach 是的,但不是left join。有关详细信息,请参阅Updatable and Insertable Views 上的 MySQL 文档。
    • 再次感谢。不幸的是,这对我来说似乎有点令人困惑,所以我根据这个例子提出了一个新问题,所以如果你也能在那里提供帮助,我将不胜感激stackoverflow.com/questions/46670507/make-sql-view-editable
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 2012-09-22
    • 2012-06-22
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多