我有以下两个表格:Users
和Settings
我想要做的是为每个现有用户的设置添加一行。所以在伪代码中:
foreach(NUMBER user_id IN Users){
INSERT INTO "Settings" SET ("name", "value", "type", type_id, overridable)
VALUES ('date_format', 'dd-MM-yyyy', 'USER', user_id, '1');
}
我如何在SQL中执行此操作?
Here at the Using INSERT with the VALUE Clause and a SELECT Subquery part我看到以下内容:
INSERT INTO MyTable (PriKey, Description)
SELECT ForeignKey, Description
FROM SomeView;
这几乎是我想要完成的,除了它从其他表中获取所有它的插入值,而不是只有一个(在我的情况下为user_id
)与其他表#39 ;硬编码'
编辑:我在SQL数据库中使用SQL。
答案 0 :(得分:2)
使用select .. insert
并在选择列表中提供常量:
INSERT INTO "Settings" ("name", "value", "type", type_id, overridable)
select 'date_format', 'dd-MM-yyyy', 'USER', user_id, '1'
from users;