Изменить id - MySQL
Формулировка задачи:
Всем привет. Есть две таблицы. В первой альбомы, во второй фотки. Автор альбомов везде user_id = 1. А вот авторы фоток разные. Нужен запрос, который изменит user_id альбомов в зависимости от user_id фоток.Cделал так
Все user_id именились на 0.
UPDATE `cms_photo_albums` SET `user_id`=(SELECT `user_id` FROM `cms_photo_files` WHERE 'cms_photo_files.album_id' = 'cms_photo_albums.id')WHERE 1
Решение задачи: «Изменить id»
textual
Листинг программы
/* Create a table called cms_photo_albums */ CREATE TABLE cms_photo_albums(id INTEGER, user_id INTEGER); /* Create few records in this table */ INSERT INTO cms_photo_albums VALUES(1,0); INSERT INTO cms_photo_albums VALUES(2,0); INSERT INTO cms_photo_albums VALUES(3,0); INSERT INTO cms_photo_albums VALUES(4,0); INSERT INTO cms_photo_albums VALUES(5,0); /* Create a table called cms_photo_files */ CREATE TABLE cms_photo_files(id INTEGER, album_id INTEGER, user_id INTEGER); /* Create few records in this table */ INSERT INTO cms_photo_files VALUES(11,1,123); INSERT INTO cms_photo_files VALUES(12,1,123); INSERT INTO cms_photo_files VALUES(13,3,777); INSERT INTO cms_photo_files VALUES(14,5,999); INSERT INTO cms_photo_files VALUES(15,7,999); UPDATE cms_photo_albums SET user_id = (SELECT user_id FROM cms_photo_files WHERE cms_photo_files.album_id = cms_photo_albums.id); SELECT * FROM cms_photo_albums;
Объяснение кода листинга программы
- Создаётся таблица cms_photo_albums с двумя полями: id и user_id.
- В эту таблицу добавляются несколько записей с разными значениями id и user_id.
- Создаётся таблица cms_photo_files с тремя полями: id, album_id и user_id.
- В эту таблицу добавляются несколько записей с разными значениями id, album_id и user_id.
- Используя SQL запрос UPDATE, изменяем значение user_id в таблице cms_photo_albums на значение user_id из таблицы cms_photo_files, где album_id равно id из таблицы cms_photo_albums.
- Выводим все записи из таблицы cms_photo_albums с помощью SQL запроса SELECT.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д