不是最好的MySQL,但是我用python从网站上抓取数据,并将结果存储在mysql数据库中。我收集的所有数据都已放入我创建的自定义对象中(即每个对象都是具有相应品牌,型号,年份等的汽车)现在我遇到问题的是每个汽车有许多与之相关的图像,其范围可以从零到十个。我的问题是如何将这些图像存储在MySQL表中并将其连接到各自的汽车。
这是我为目前为每辆车创建的表格(python代码):
command = ("""CREATE TABLE `%s`(
`auctionHouse` varchar(255) NOT NULL,
`auction` varchar(255) NOT NULL,
`lot` varchar(255) NOT NULL,
`year` int,
`make` varchar(255) NOT NULL,
`model` varchar(255),
`description` text,
`fullName` varchar(255) NOT NULL,
`salePrice` varchar(255),
`highPrice` int NOT NULL,
PRIMARY KEY (`auction`,`lot`));
"""
)%(auction)
我是否必须创建另一个用于保存图像的表格,然后在查询汽车时使用连接?
答案 0 :(得分:1)
您不必创建另一个表,但我强烈建议您这样做。您指定每辆车的图像数量有限,因此您的汽车表中可能有10列。但是当你决定添加更多时会发生什么?
如果您计划将图像存储为Blob,那么绝对不能创建10列;继续创建另一张桌子。
如果您选择创建另一个表,我建议使用Innodb并指定外键约束。
我还建议您在创建汽车入口时使用交易,并将图像与该汽车相关联。
您需要将自己创建的汽车的ID用作图像表中的值,以便将图像与相应的汽车相关联。
http://www.w3schools.com/php/php_mysql_insert_lastid.asp
然后你可以使用Join来获取与汽车相关的所有图像,或者你可以自己查询图像表,如果你只需要图像并且你有汽车ID。