gpt4 book ai didi

MySQL使用连续数插入

转载 作者:行者123 更新时间:2023-11-29 07:25:47 25 4
gpt4 key购买 nike

我正在使用以下语句复制表中的一行:

insert into Buyer (
version, creationDate, password, token, username, zip, city, lastname, firstname, preferredLanguage_id, title_id, contactEmail_id, active
) select
version, creationDate, password, token, "loadtest_1@example.com", zip, city, lastname, firstname, preferredLanguage_id, title_id, contactEmail_id, active
from Buyer where username="developer_de@example.com";

我唯一改变的是用户名/电子邮件。现在要插入的新用户名中的数字“loadtest_1@example.com”应该每次都会增加。所以第二个应该是loadtest_2...、loadtest_3等等。我并不关心它从哪个数字开始,只要它是连续的,所以获取新插入行的 ID 等就完全没问题了。

对于如何实际创建一批这些插入的想法感到额外的荣誉,这样我就不必运行它 X 次。

最佳答案

您正在选择并插入到同一个表中,唯一的更改是用户名。我看到的是你需要一个 UPDATE 语句,就像

update Buyer set username = 'loadtest_1@example.com'
where username="developer_de@example.com";

如果它是测试,并且您确实想插入测试数据,例如 loadtest_1@example.com .. loadtest_100@example.com 那么您可以使用 while 循环,例如

CREATE PROCEDURE usp_inserttestdata(total INT)
AS
BEGIN
DECLARE counter INT;
DECLARE uname varchar(20);

SET counter = 1;

label1: WHILE counter <= total DO

SET uname = concat('loadtest_', counter, '@example.com');

insert into Buyer (
version, creationDate, password, token, username, zip, city, lastname,
firstname, preferredLanguage_id, title_id, contactEmail_id, active)
select version, creationDate, password, token, uname, zip, city, lastname, firstname,
preferredLanguage_id, title_id, contactEmail_id, active
from Buyer where username="developer_de@example.com";

SET counter = counter + 1;

END WHILE label1;
END

然后调用该过程说

CALL usp_inserttestdata 1000

关于MySQL使用连续数插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34589279/

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