MySql 插入两个用外键连接的表

标签 mysql sql erd

我有两个表,它们通过两个外键连接到表(如下图所示)。

/image/6ruPi.png

在表格菜单中,我想知道披萨的名称和价格。 在表项中,我想要包含披萨的成分(例如奶酪、酱汁、萨拉米香肠)。 表 Item_has_Menu 将使用外键连接这两个表。

我的问题是如何使用 Sql 命令添加行,如下所示:

菜单表

      id_menu   name      price
        1       pizza1    5.00
        2       pizza2    6.00

项目表

      id_item  name_item  price
        1       cheese    1.00
        2       sauce     0.80
        3       salami    0.90

Item_has_menu表

               Item_Id_Item     Menu_id_Menu
                   1                1
                   2                1
                   2                2
                   3                2

最佳答案

使用多个插入语句。我只做第一组记录,其余的留给读者作为练习。

  1. 通过插入 Menu 表来创建菜单。

    INSERT INTO Menu (id_menu, name, price) VALUES (1, 'pizza1', 5.00);
    
  2. 通过插入 Item 表来创建项目。

    INSERT INTO Item (id_item, name_item, price) VALUES (1, 'cheese', 1.00);
    
  3. 通过向交叉引用表添加一条记录来关联两条记录。

    INSERT INTO Item_has_menu (Item_id_item, Menu_id_menu) VALUES (1, 1);
    

关于MySql 插入两个用外键连接的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235775/

相关文章:

sql - 在 SQL Server 中聚合日期

sql - 先过滤还是先加入?

mysql-workbench - 如何在 erd MySQL WB 6.0 的关系线中显示标题

mysql - 查询具有一个值的两个组合字段

database-design - 如何对用户之间交换的消息进行建模? - ER图

php - 将多个mysql查询重构为1

php - 为每条记录仅获取mysql中的最新数据

php - codeigniter 数据库查询替换为现有的

mysql - Rails 无法在数据库中找到记录(但实际存在)

php - Sprintf将NULL插入mysql