使用预准备语句插入新值与选择查询相结合

Osk*_*son 1 mysql select mysqli insert prepared-statement

使用预准备语句插入新值和选择查询的正确语法是什么?

我所拥有的不起作用.

INSERT INTO productsUsers
    (product, userId)
VALUES
    (?, SELECT id FROM users WHERE username = ?)
Run Code Online (Sandbox Code Playgroud)

Tri*_*mon 7

只需使用INSERT INTO...... SELECT:

INSERT INTO productsUsers (product, userId)
SELECT ?,  id 
  FROM users 
 WHERE username = ?;
Run Code Online (Sandbox Code Playgroud)

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