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)
我是否必须创建另一个表来保存图像,然后在查询汽车时使用联接?
最佳答案
您不必创建另一个表,但我强烈建议您这样做。您指定每辆车的图像数量有限,因此汽车表中可以有 10 列。但是当您决定添加更多内容时会发生什么?
如果您打算将图像存储为 Blob,那么绝对不要创建 10 列;继续创建另一个表。
如果您选择创建另一个表,我建议使用Innodb并指定外键约束。
我还建议您在创建汽车条目时使用事务,并将图像与该汽车相关联。
您需要您创建的汽车的 ID,才能将其用作图像表中的值,以将图像与相应的汽车相关联。
http://www.w3schools.com/php/php_mysql_insert_lastid.asp
然后您可以使用 Join 来获取与汽车相关的所有图像,或者如果您只需要图像并且您有汽车 ID,则可以单独查询图像表。
关于python - 从数组到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128381/