gpt4 book ai didi

mysql - INSERT INTO with Increment 变量

转载 作者:行者123 更新时间:2023-11-28 23:19:31 24 4
gpt4 key购买 nike

我想要一个 INSERT INTO 查询,我更新的其中一个字段是计算的 var 'mycount' - 这将是查询中插入行的编号。

例如:如果我插入 3 行,我希望此变量对于插入的第一行为“1”,对于第二行为“2”,依此类推。

SET @mycount=0;
INSERT INTO my_table
(@mycount,field1,field2,field3...)
SET @mycount=@mycount+1;
SELECT @mycount,field1,field2,field3..
FROM my_table
WHERE id IN (id1,id2,id3..);

此代码返回一个错误。我如何在 INSERT INTO 查询中声明一个变量并使其随着插入的每一行递增?

重要 - 我不需要 AUTO-INCREMENT 列 - 这是计算的一部分,只需要在这个特定的 INSERT INTO 查询中执行,它只是计算的一部分。我真正需要的是 (number_of_inserted_row+some_other_calculation) 的计算,但我只是为了问题的缘故对其进行了简化。

最佳答案

嗯,通常为此使用一个 auto_increment 列。如果您出于某种原因不想这样做,您可以这样做:

INSERT INTO my_table
(your_quasi_auto_increment_column, field1, field2, field3...)
SELECT (@mycount := @mycount + 1) + <other_calculation>, field1, field2, field3..
FROM my_table
, (SELECT @mycount := 0) var_init_query_alias
WHERE id IN (id1,id2,id3..);

关于mysql - INSERT INTO with Increment 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42438440/

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