1

使用准备好的语句插入新值并结合选择查询的正确语法是什么?

我所拥有的不起作用。

INSERT INTO productsUsers
    (product, userId)
VALUES
    (?, SELECT id FROM users WHERE username = ?)
4

2 回答 2

7

只需使用INSERT INTO... SELECT

INSERT INTO productsUsers (product, userId)
SELECT ?,  id 
  FROM users 
 WHERE username = ?;

如果你想避免重复id的,你可以使用一个ON DUPLICATE KEY子句。查看文档了解更多信息。

于 2013-08-21T18:18:07.057 回答
0

试试这个:-

INSERT INTO productsUsers(product, userId)
SELECT ?,  id 
  FROM users 
  WHERE username = ?)

看看这个以供参考

语法是:-

插入 [LOW_PRIORITY | HIGH_PRIORITY] [忽略]

[INTO] tbl_name [(col_name,...)]
SELECT ...
[ ON DUPLICATE KEY UPDATE col_name=expr, ... ]
于 2013-08-21T18:18:26.963 回答