INSERT в связанную таблицу - MySQL
Формулировка задачи:
Добрый день. Есть таблица
И таблица
Таблицы связаны один (
Table1
| id |
| user_id |
| tets_1 |
| test_2 |
users
| user_id |
| name |
user
) ко многим (Table1
). Вопрос такой: как можно составить запрос на добавление записи вTable1
знаяимя пользователя
? PS: в моей таблице около 5 связей.Решение задачи: «INSERT в связанную таблицу»
textual
Листинг программы
INSERT INTO Table1(..., user_id) VALUES(..., (SELECT user_id FROM users WHERE name = 'User Name'))
Объяснение кода листинга программы
INSERT INTO Table1(..., user_id) VALUES(..., (SELECT user_id FROM users WHERE name = 'User Name'))- Код выполняет операцию INSERT в таблицу
Table1. - Список полей для вставки представлен в формате
..., user_id). - Значения для полей, кроме
user_id, берутся из других источников данных и не представлены в запросе. - Значение для поля
user_idвычисляется с помощью подзапроса(SELECT user_id FROM users WHERE name = 'User Name'). - Подзапрос возвращает
user_idдля пользователя с именем 'User Name'. - Значение этого подзапроса используется для вставки в таблицу
Table1в полеuser_id.
- Код выполняет операцию INSERT в таблицу