MySql如何有一个表的许多实例到另一个表中的列

时间:2019-03-20 18:20:33

标签: mysql

我目前正在从事有关餐馆应用程序的学校项目。 我必须在“ Products_Id”列中创建表“ Products”的多个实例 在“订单”表中。这是两个表的图片。我应该怎么做 那些桌子?

餐桌产品

Table Products

餐桌订单

Table Orders

1 个答案:

答案 0 :(得分:0)

我相信您要查找的是“连接”或“查找”表。它们使您可以在数据之间建立一对多关系。您的情况是,将多个产品与单个订单关联起来。

订单表

CREATE TABLE IF NOT EXISTS Order(
id INT(10) AUTO_INCREMENT NOT NULL, PRIMARY KEY,
customer_id INT(10) NOT NULL,
location INT(10) NOT NULL
);

产品表

CREATE TABLE IF NOT EXISTS Product(
id INT(10) NOT NULL, PRIMARY KEY,
name VARCHAR(40) NOT NULL,
price DECIMAL(4,2) NOT NULL,
description VARCHAR(40) NOT NULL
);

连接表

每行将包含订单的id和所订购产品的id。然后,您将JOIN所有的表以获取所需的数据。

CREATE TABLE IF NOT EXISTS Order_to_Product(
id INT(10) AUTO_INCREMENT NOT NULL, PRIMARY KEY,
order_id INT(10) NOT NULL,
product_id INT(10) NOT NULL
);