这里有3张桌子。
让我们说每张桌子的数据是:
- sbs_users(table1)
userid username
1 john
2 albert
- sbs_permissions(table2)
permissionid permission
1 create
2 edit
- sbs_user_permissions(table3)
upid(autoid) userid permissionid
我想做的是使用table2中的所有数据插入table3,但只获取table1中的最后一个id。
插入后的预期是:
- sbs_user_permissions(table3)
upid(autoid) userid permissionid
1 2 1
2 2 2
提前致谢
答案 0 :(得分:1)
如果我正确地读了你,你想给用户带有最大用户ID的所有权限吗?如果是这样,那就:
insert into user_permissions select u.id, p.id from
users u cross join permissions p
where u.id = (select max(id) from users);
答案 1 :(得分:0)
你可能需要这样的东西......
INSERT INTO sbs_user_permissions (userid, permissionid)
SELECT u.userid, p.permissionid
FROM sbs_users u
INNER JOIN sbs_permissions p ON 1=1
WHERE u.userid = 2;