所以我试图在表格中插入4个值。我从POST获得3个值,而另一个我希望从另一个表中获取它。这就是我考虑实现它的方式,但它似乎并没有起作用。有什么建议吗?
dill
答案 0 :(得分:1)
在SQL中,所有子查询都需要用自己的括号括起来。因此,您可以使用以下方法修复查询:
INSERT INTO topics (subject, data, uid, role)
VALUES (:user, :pass, :uid, (SELECT role FROM users WHERE uid = :uid));
就个人而言,我更喜欢INSERT . . . SELECT
版SELECT
:
INSERT INTO topics (subject, data, uid, role)
SELECT :user, :pass, :uid, u.role
FROM users u
WHERE uid = :uid;