gpt4 book ai didi

mysql - 使用 max()+1 问题插入和设置值

转载 作者:IT老高 更新时间:2023-10-28 12:59:12 27 4
gpt4 key购买 nike

我正在尝试插入一个新行并将 customer_id 设置为 max()+1。原因是该表已经在另一个名为 id 的列上有一个 auto_increatment,并且该表将有多个具有相同 customer_id 的行。

有了这个:

INSERT INTO customers
( customer_id, firstname, surname )
VALUES
((SELECT MAX( customer_id ) FROM customers) +1, 'jim', 'sock')

...我不断收到以下错误:

#1093 - You can't specify target table 'customers' for update in FROM clause

另外,我将如何阻止同时添加 2 个不同的客户并且没有相同的 customer_id?

最佳答案

您可以使用 INSERT ... SELECT获取MAX()+1值并同时插入的语句:

INSERT INTO 
customers( customer_id, firstname, surname )
SELECT MAX( customer_id ) + 1, 'jim', 'sock' FROM customers;

注意:您需要从 INSERT 中删除 VALUES 并确保 SELECT所选字段与 INSERT 声明的字段匹配。

关于mysql - 使用 max()+1 问题插入和设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360117/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com