我有两个表,一个是角色,另一个是user_role。 User_role表包含特定角色的所有用户。现在,我在角色表中添加了两个额外的新角色。我想将行插入到具有role_id = 4的user_role表中,并使用新的role_ids。我无法更新exsting行,因为我想要exsting行也意味着具有role_id = 4的用户也属于新的role_ids。 我试过这种方式
INSERT INTO table2 (all_links, fields_one, fields_two)
select URI, fields, details FROM table1
WHERE date > "12-11-2013 00-00-00";
但是这里有两张桌子,但在我的情况下只有一张桌子。并且在user_role表中id是后续的,因此无法从dirctely中选择另一个表并插入。
请帮助解决这些问题。
答案 0 :(得分:1)
您可以选择并将记录插入同一张表中。
如果我正确理解您的用例,
INSERT INTO user_role (role_id, <other columns>)
SELECT <new_role_id>, <other columns>
FROM
user_role
WHERE
role_id = 4.
这会将user_role
表中role_id为4的所有现有记录插入到具有不同role_id的同一个表中。 HTH。