SQL填充键/值表

时间:2014-07-14 16:56:46

标签: mysql sql

我有几个SQL表,一个用于用户,一个用于配置,一个用于用户配置的键/值。

我想要做的是,在向users表添加新条目时,我希望为配置表中的所有可用配置行填充一行的键/值表。

所以如果配置表有这些行:

Setting1
Setting2
Setting3

我希望最终得到类似于键/值表的内容:

NewUser | Seeting1 | OFF
NewUser | Seeting2 | OFF
NewUser | Seeting3 | OFF

不确定如何将其实际添加到键/值表(语法是什么)。 我想它可以作为基于添加到users表的触发器来完成。

1 个答案:

答案 0 :(得分:2)

您应该能够使用INSERT / SELECT语句在单个SQL中完成此操作。需要注意的是,您应该在名为settings的{​​{1}}表中存储一个列,该列存储创建用户时的初始设置值。如果您有该列,则可以创建默认值,如下所示:

default_value

您绝对可以在INSERT INTO user_settings (user_id, setting_id, value) SELECT <user_id>, id, default_value FROM settings 表格中将此语句触发到INSERT表格。