我正在尝试使用另一个表中的值以及静态值在临时表中创建行。我能想到的最好的方法是使用多个查询来截取这段代码。我很好奇是否只有一个SQL查询可以实现这一目标。
CREATE TEMPORARY TABLE temp_users (user_id INT, location_id INT);
INSERT INTO temp_users (user_id) SELECT id FROM users WHERE user.role = 'employee';
UPDATE temp_users SET location_id = 11;
答案 0 :(得分:3)
这应该有效
CREATE TEMP TABLE temp_users AS
SELECT id user_id, 11 location_id FROM users WHERE user.role = 'employee';
答案 1 :(得分:1)
啊,您可以将这些值混合在单个插入中,如下所示:
CREATE TEMPORARY TABLE temp_users (user_id INT, location_id INT);
INSERT INTO temp_users (user_id, location_id)
SELECT id, 11
FROM users
WHERE user.role = 'employee';