python - 从数组到 MySQL

标签 python mysql

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/

相关文章:

python - 值错误 : array is too big

python - Python Nose 测试会显示错误的值吗?

mysql - 如何将用户表连接到角色表(使用表 user_roles)?

php - 从 PHP codeigniter 模型返回的结果集中获取单个值

php - file_get_content 和变量问题

php - MySQL INDEX Varchar Field 500 for urls

python - 炼金术;外键错误

python - 合作实验室和 Selenium : error message 'geckodriver' executable needs to be in PATH

python - 延迟加载python中的模块

MySQL select equals 条件像条件一样工作