Изменить id - MySQL

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

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

Всем привет. Есть две таблицы. В первой альбомы, во второй фотки. Автор альбомов везде user_id = 1. А вот авторы фоток разные. Нужен запрос, который изменит user_id альбомов в зависимости от user_id фоток.Cделал так
Листинг программы
  1. 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
Листинг программы
  1. /* Create a table called cms_photo_albums */
  2. CREATE TABLE cms_photo_albums(id INTEGER, user_id INTEGER);
  3.  
  4. /* Create few records in this table */
  5. INSERT INTO cms_photo_albums VALUES(1,0);
  6. INSERT INTO cms_photo_albums VALUES(2,0);
  7. INSERT INTO cms_photo_albums VALUES(3,0);
  8. INSERT INTO cms_photo_albums VALUES(4,0);
  9. INSERT INTO cms_photo_albums VALUES(5,0);
  10.  
  11. /* Create a table called cms_photo_files */
  12. CREATE TABLE cms_photo_files(id INTEGER, album_id INTEGER, user_id INTEGER);
  13.  
  14. /* Create few records in this table */
  15. INSERT INTO cms_photo_files VALUES(11,1,123);
  16. INSERT INTO cms_photo_files VALUES(12,1,123);
  17. INSERT INTO cms_photo_files VALUES(13,3,777);
  18. INSERT INTO cms_photo_files VALUES(14,5,999);
  19. INSERT INTO cms_photo_files VALUES(15,7,999);
  20.  
  21.  
  22.  
  23. UPDATE  cms_photo_albums SET user_id = (SELECT user_id FROM cms_photo_files WHERE  cms_photo_files.album_id = cms_photo_albums.id);
  24.  
  25. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут