SQL根据当前列值插入选定的值

时间:2017-11-06 10:15:46

标签: mysql sql

现在我有这两个表:

table : user
+----+-------------+------+
| id | shops_theme | name |
+----+-------------+------+

table : shop
+----+------+---------+
| id | link | user_id |
+----+------+---------+

用户可以拥有多家商店。

现在所有用户的商店都有一个主题。我想改变它,所以所有商店都有自己的主题。

table : user
+----+------+
| id | name |
+----+------+

table : shop
+----+------+---------+-------+
| id | link | user_id | theme |
+----+------+---------+-------+

如何保存当前用户的商店主题。我可以为此编写一个神奇的SQL,还是需要编写一些脚本?

我想到了类似的东西:

  1. theme表格
  2. 上创建shop
  3. 一些魔法插入SQL,它将使用用户的stores_theme
  4. 填充每个商店
  5. shops_theme删除user
  6. 我需要帮助(2):)

1 个答案:

答案 0 :(得分:4)

对于您的步骤2您可以使用update with join来更新与用户相关的现有商店行

update shop 
inner join user on user.id = shop.user_id
set shop.theme  = user.shop_theme