[英]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.