2015-06-30 5 views
0

Не самый лучший с MySQL, но я очищаю данные с сайтов с помощью python и сохраняю результаты в базе данных mysql. Все данные, которые я собрал, были помещены в созданные пользователем объекты (т. Е. Каждый объект - автомобиль с соответствующим маркой, моделью, годом и т. Д.). Теперь, когда у меня возникает проблема, у каждого автомобиля есть номер связанных с ним изображений, и может варьироваться от нуля до десяти изображений. У меня есть вопрос, как сохранить эти изображения в таблице MySQL и подключить их к соответствующему автомобилю.От Array до MySQL

Это таблица, я создал для каждого автомобиля до сих пор (питон код):

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) 

Должен ли я создать еще одну таблицу для хранения изображений, а затем, когда я запрашиваю машину, используйте присоединиться ?

ответ

1

Вам не нужно создавать другую таблицу, но я бы настоятельно предложил вам это сделать. Вы указали, что у вас есть конечное количество изображений на автомобиль, поэтому у вас может быть 10 колонок на вашем автомобильном столе. Но что происходит, когда вы решите добавить еще?

Если вы планируете хранить свои изображения в виде Blobs, то определенно не создавайте 10 столбцов; вперед и создать другую таблицу.

Если вы решите создать другую таблицу, я бы предложил использовать Innodb и указать ограничение внешнего ключа.

Я также предлагаю вам использовать транзакцию, когда вы создаете запись о машине и связываете изображения с этим автомобилем.

Вам нужен идентификатор автомобиля, который вы создали, чтобы использовать его в качестве значения в таблице изображений, чтобы связать изображение с соответствующим автомобилем.

http://www.w3schools.com/php/php_mysql_insert_lastid.asp

Затем вы можете использовать Присоединяйтесь, чтобы получить все изображения, связанные с автомобилем, или вы можете запросить таблицу изображения сам по себе, если вам нужны только образы и у вас есть Id автомобиля.

+0

Хорошо, создал другой стол. Благодаря! – JerryCrowley

Смежные вопросы