【发布时间】:2012-08-17 21:35:24
【问题描述】:
大家好,我想知道如何使用以下查询插入新记录:
SELECT user.id, user.name, user.username, user.email,
IF(user.opted_in = 0, 'NO', 'YES') AS optedIn
FROM
user
LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id
ORDER BY user.id;
到目前为止,我的INSERT 查询是这样的:
INSERT INTO user
SELECT *
FROM user
LEFT JOIN user_permission AS userPerm ON user.id = userPerm.user_id;
但是,当使用左连接和内连接时,我不确定如何处理 VALUE('','','','', etc etc)。
所以我想做的是:
User表:
id | name | username | password | OptIn
--------------------------------------------------------------------
562 Bob Barker bBarker BBarker@priceisright.com 1
还有user_permission 表
user_id | Permission_id
-------------------------
562 4
更新 就这样?
INSERT INTO user (name, username, password, email, opted_in) VALUES ('Bbarker','Bbarker','blahblahblah','Bbarker@priceisright.com',0);
INSERT INTO user_permission (user_id, permission_id) VALUES (LAST_INSERT_ID(),4);
【问题讨论】:
-
当您刚刚从
user中选择了值时,为什么要插入user?您打算插入什么新行? -
@AaronJSpetner 当您提出修改建议时,请进行完整修改,以便后续修改无需修复大小写、标点符号和删除“大家好”等无用文本。
标签: mysql left-join inner-join