我有几个SQL表,一个用于用户,一个用于配置,一个用于用户配置的键/值。
我想要做的是,在向users表添加新条目时,我希望为配置表中的所有可用配置行填充一行的键/值表。
所以如果配置表有这些行:
Setting1
Setting2
Setting3
我希望最终得到类似于键/值表的内容:
NewUser | Seeting1 | OFF
NewUser | Seeting2 | OFF
NewUser | Seeting3 | OFF
不确定如何将其实际添加到键/值表(语法是什么)。 我想它可以作为基于添加到users表的触发器来完成。
答案 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
表格。