У меня есть webapp, который я создаю. Этот webapp будет принимать в качестве входных данных некоторые продукты (автомобили, мото, лодки, дома и т. Д.), И каждый продукт будет иметь одну или несколько фотографий, связанных с ним. Идентификатор каждой фотографии генерируется функцией uniqid()
php.Имея более одного значения, вставленного в тот же столбец
Моя проблема: я не могу показаться, чтобы соответствовать более двух id_photos
в той же колонке
+-----------+------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------------------------------+------+-----+---------+----------------+
| carid | int(11) | NO | MUL | NULL | auto_increment |
| brand | enum('Alfa Romeo','Aston Martin','Audi') | NO | | NULL | |
| color | varchar(20) | NO | | NULL | |
| type | enum('gasoline','diesel','eletric') | YES | | NULL | |
| price | mediumint(8) unsigned | YES | | NULL | |
| mileage | mediumint(8) unsigned | YES | | NULL | |
| model | text | YES | | NULL | |
| year | year(4) | YES | | NULL | |
| id_photos | varchar(30) | YES | | NULL | |
+-----------+------------------------------------------+------+-----+---------+----------------+
То, что я хотел бы произойти что-то вроде этого: INSERT INTO cars(id_photos) values ('id_1st_photo', 'id_2nd_photo')
Ending вверх что-то вроде этого:
| 60 | Audi | Yellow | diesel | 252352 | 1234112 | R8 | 1990 | id_1st_photo id_2nd_photo |
В конечном счете, мне нужно было бы взять эти фотографии из папок, в которых они находятся, что-то вроде этого: /var/www/website/$login/photos/id_of_photo
с запросом select id_photos from cars where carid=$id
.
Вы можете найти data types
, который не является пропельно хорошим для данных, которые получит сервер, но я на неделю в mysql, и я буду беспокоиться о data types
позже.
Прежде всего, я не знаю, возможно ли это, если это не то, как я могу создать что-то, чтобы работать так?
Я нашел этот вопрос, что совершенно так же моя, но я не могу показаться, чтобы реализовать что-то вроде этого: add multiple values in one column
id_photos длина столбца 30. Пожалуйста, увеличьте значение –
Подход связанного вопроса может быть реализован для вашей проблемы: Удалить id_photos из вашей таблицы. Создайте новую таблицу с двумя столбцами: carid и id_photo. Более поздняя таблица получает одну строку для каждого введенного вами идентификатора фотографии. Если вам нужен «полный» набор данных, вы должны использовать JOIN и/или/GROUP BY. Включение более одного значения в столбец вообще предотвращает или, по крайней мере, препятствует эффективному запросу этого столбца. – Sirko
@Sirko Я вижу ваш подход, но как сервер узнает, что определенная фотография принадлежит определенному пользователю? Допустим, что этот пользователь добавляет две машины на сайт. Как сервер узнает, какие фотографии с первого автомобиля и фотографии со второго автомобиля? –