Изменить id - MySQL

Узнай цену своей работы

Формулировка задачи:

Всем привет. Есть две таблицы. В первой альбомы, во второй фотки. Автор альбомов везде user_id = 1. А вот авторы фоток разные. Нужен запрос, который изменит user_id альбомов в зависимости от user_id фоток.Cделал так
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
Все user_id именились на 0.

Решение задачи: «Изменить 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;

Объяснение кода листинга программы

  1. Создаётся таблица cms_photo_albums с двумя полями: id и user_id.
  2. В эту таблицу добавляются несколько записей с разными значениями id и user_id.
  3. Создаётся таблица cms_photo_files с тремя полями: id, album_id и user_id.
  4. В эту таблицу добавляются несколько записей с разными значениями id, album_id и user_id.
  5. Используя SQL запрос UPDATE, изменяем значение user_id в таблице cms_photo_albums на значение user_id из таблицы cms_photo_files, где album_id равно id из таблицы cms_photo_albums.
  6. Выводим все записи из таблицы cms_photo_albums с помощью SQL запроса SELECT.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5