插入新的增量值

时间:2019-11-25 15:30:51

标签: mysql

JOIN

当我执行上面的语句时,它将正确添加带有更新的basket_number的新行。但是,当尝试以任何方式也插入user_id时,它将不起作用。例如下面的

INSERT into products (basket_number)
  (SELECT (MAX(basket_number) + 1) FROM products WHERE user_id = 9);

我不确定要解决此问题需要做什么。

2 个答案:

答案 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
相关问题