簡體   English   中英

插入新的增量值

[英]Insert new increment value

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

當我執行上面的語句時,它會正確添加一個新行,並更新了basket_number。 但是當嘗試以任何方式插入 user_id 時,它將不起作用。 例如下面:

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

我不確定我需要做什么來解決這個問題。

那么你當然可以讓語法在這里工作:

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

但通常,如果您想在表中使用自動遞增序列,您應該只將其中一列(通常是主鍵)設為自動遞增列。

你可以這樣使用 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM