我有2个表'用户'和'设置'。我正在尝试在用户的每个用户的设置中创建一个新行来初始化默认设置。
INSERT INTO settings
(user_id, setting_id, value)
VALUES
(
(SELECT id
FROM users),
16,
true
)
这会返回错误
错误:用作表达式的子查询返回多行 SQL状态:21000
答案 0 :(得分:1)
试试这种语法。
将常量值添加到select
查询选择列表
INSERT INTO settings
(user_id, setting_id, value)
SELECT id,16,true
FROM users
答案 1 :(得分:1)
使用insert . . . select
:
INSERT INTO settings (user_id, setting_id, value)
SELECT id, 16, true
FROM users;