Есть у меня две таблицы: product_content
и product_images
. В первой я храню всю текстовую информацию о продукте, в другой я храню адрес для изображений.
Страктура таблиц:
product_content:
id - primary key url - varchar title - varchar content - text meta_title - text meta_description - text meta_keywords - text deleted - int (0|1)
product_images
id - primary_key product_id - int full_size - text mini_size - text deleted -int (0|1)
Когда я добавляю продукт, я стоставляю два запроса в БД:
`$query_content = "INSERT INTO product_content (url, title, content, meta_title, meta_description, meta_keywords) VALUES (:url, :title, :content, :meta_title, :meta_descritpion, :meta_keywords)";`
Потом я получаю последний id
с запроса $query_content
и передаю в следующий запрос на вставку изображений. Запрос исполняется в цикле.
`$query_image = "INSERT INTO product_images (product_id, full_size, mini_size) VALUES (:product_id, :full_size, :mini_size)";`
Вопрос: Если я сделаю product_images
столбец product_id
- foreign key, то как мне это поможет? Надо ли мне будет получать id продукта, который я вставил в таблицу product_content
? Я просто совсем не понимаю зачем вообще есть такой индекс как Foreign Key. Могли бы вы объяснить на моём примере. В документацию смотрел, ничего не понял. Спасибо.
Внешний ключ нужен для контроля целостности данных (в MySQL он работает только для движка MyISAM). Нужен он для того, чтобы в таблице product_images не оказалось такого product_id, какого нет в product_content
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Скачал 92five app , но при запуске на XAMPP возникли следующие ошибки, хотя Composer я устанавливал