ironwayru, а посмотрите на структуру таблички в phpMyAdmin
Поле tag_relation_id, как и всякое ключевое поле любой таблицы, имеет два свойства - primary key и autoincrement.
Это означает, что при вставки в таблицу новой записи значение ключа можно не указывать (и, насколько я знаю, в таких случаях даже не рекомендуется!) - оно само собою вычислится как следующее свободное значение для этого поля.
Поэтому:
INSERT INTO `tags_relation_table` (`tag_id`, `information_items_id`, `shop_items_catalog_item_id`, `site_id`) VALUES (13, 0, 'id1', 1);
(лишние кавычки я тоже убрал. и не уверен что в `shop_items_catalog_item_id` должны быть буквы id но сейчас уже неохота лезть в базу и смотреть)
Отдельно очень хочется добавить, что использовать прямые запросы к БД, когда тоже самое можно сделать с помощью api - это как-то не по-православному
В api могут быть реализованы какие-то дополнительные обработки, проверки, связи, трансформации данных, о которых вы не знаете. И вставляя записи прямыми запросами вы можете нарушить целостность данных.
Да, написать SQL-запрос быстрее, чем скрипт на api, да и выполнится запрос чуть быстрее скрипта, но, повторюсь,
любой прямой запрос к БД, даже невинный select - это зло, и прибегать к этому нужно только в крайних случаях.
В вашем случае - ну что проще на api сделать выборку товаров по производителю, а потом перебирая товары в цикле получать для каждого текущие метки и добавлять еще одну. И безопасно, и не надо думать над тем куда чего вставлять.
Так что тему впору переименовывать во "Вредные запросы для интернет-магазинов".
p.s.: и да, я таки во многом максималист и довольно категоричен. Это не так уж плохо.