我开始学习PHP;
我的数据库中有两个表:
我想创建一个名为Offered Products的第三个表,其中包含Offer_Id,Brand_ID,Line_Name - 如何使用外键管理它?
创建表后,我想创建一个php页面,让用户通过
填充第三个表我怎么能准确地说这个?请帮忙
答案 0 :(得分:1)
您的第三个表只需存储Line_ID
和Brand_ID
以及(无论出于何种原因)您还需要Offer_ID
。
CREATE TABLE `Offered Products` (
/* define columns */
Offer_ID INT NOT NULL AUTO_INCREMENT,
Brand_ID INT NOT NULL,
Line_ID INT NOT NULL,
/* define primary key */
PRIMARY KEY (Offer_ID)
/* define foreign keys */
FOREIGN KEY Brand_ID (Brand_ID)
REFERENCES `Brands List` (Brand_ID)
FOREIGN KEY Line_ID (Line_ID)
REFERENCES `Lines List` (Line_ID)
);
这假设Lines List
表(带空格)和Brand List
表分别将Line_ID
和Brand_ID
定义为主键。
使用HTML和PHP设计表单。从相应的表中填充每个列表。我不会为此提供代码;它应该是直截了当的。
INSERT INTO `Offered Products` (Brand_ID, Line_ID) VALUES (###, ###)
###
代表HTML表单中的ID号。
要获取您可以加入的所有表格中的信息,如下所示。
SELECT * FROM `Offered Products` as op
JOIN `Brand List` as bl ON bl.Brand_ID = op.Brand_ID
JOIN `Line List` as ll on ll.Line_ID = op.Line_ID
要在MySQL中使用外键,您需要使用InnoDB
引擎。使用myisam
将不允许外键,但您仍然可以加入表格,以实现类似的结果。
如果您确实这样做,请避免在表名中使用空格。