JOIN
当我执行上面的语句时,它将正确添加带有更新的basket_number的新行。但是,当尝试以任何方式也插入user_id时,它将不起作用。例如下面的
:INSERT into products (basket_number)
(SELECT (MAX(basket_number) + 1) FROM products WHERE user_id = 9);
我不确定要解决此问题需要做什么。
答案 0 :(得分:2)
您当然可以在这里使语法起作用:
INSERT into products (user_id, basket_number)
SELECT 9, MAX(basket_number) + 1
FROM products
WHERE user_id = 9;
但是通常,如果要在表中使用自动递增序列,则只需将其中一列(通常是主键)设置为自动递增列。
答案 1 :(得分:1)
您可以通过这种方式使用INSERT / SELECT
INSERT into products (user_id,basket_number)
select user_id, (MAX(basket_number) + 1
from products
where user_id = 9
group by user_id