如何使用循环的概念,在mysql查询中插入整数和字符串数据100次?

7z5jn7bk  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(325)

我想增加 intemployeeID , employeeID ,和 buddyname 给定数字的后缀。
我想这样做大约100次,使用一个mysql循环,大约有100名员工。
基本上,我需要填充100条记录,其中上述字段从给定的初始数字开始依次递增。

declare @count int;
    set @count = 100;

    while @count <= 100 
    begin

    insert into Employees(intEmployeeID, employeeID, firstName, lastName, deletedFlag, intCompanyID, createTime, modTime) values
    (1,'name1','firstname','lastname',0,-1,unix_timestamp(), UNIX_TIMESTAMP());

    insert into EmployeeBuddyNames (intEmployeeID, buddyName, networkID, enabledFlag, deletedFlag, intCompanyID, createTime, modTime, APIAuthTime) values
    (1,'id=123',24,1,0,-1,unix_timestamp(), unix_timestamp(), unix_timestamp());
end

这将增加我的一些领域如下。进入这个1,2,3…等等名称1,名称2,名称3…等等。。id=123、id=124、id=125……等等

insert into Employees(intEmployeeID, employeeID, firstName, lastName, deletedFlag, intCompanyID, createTime, modTime) values
(2,'name2','firstname','lastname',0,-1,unix_timestamp(), UNIX_TIMESTAMP());

insert into EmployeeBuddyNames (intEmployeeID, buddyName, networkID, enabledFlag, deletedFlag, intCompanyID, createTime, modTime, APIAuthTime) values
(2,'id=124',24,1,0,-1,unix_timestamp(), unix_timestamp(), unix_timestamp());

等100次。。。

zc0qhyus

zc0qhyus1#

行的唯一标识符列应该是 AUTO_INCREMENT . 这样,您就不必担心跟踪下一个id(对于那些列)以及何时执行任务 INSERT 您可以省略这些列,因为它们是不必要的。
然后,对于要将字符串与自动递增整数连接起来的其他列,可以基于 LAST_INSERT_ID() 加上一个整数:

insert into Employees (
    employeeID,
    firstName,
    lastName,
    deletedFlag,
    intCompanyID,
    createTime,
    modTime
)
values (
    CONCAT('name1', LAST_INSERT_ID() + 1),
    'firstname',
    'lastname',
    0,
    -1,
    unix_timestamp(),
    UNIX_TIMESTAMP()
);

insert into EmployeeBuddyNames (
    buddyName, 
    networkID, 
    enabledFlag, 
    deletedFlag, 
    intCompanyID, 
    createTime, 
    modTime, 
    APIAuthTime
)
values (
    CONCAT('id=', LAST_INSERT_ID() + 123)
    24,
    1,
    0,
    -1,
    unix_timestamp(), 
    unix_timestamp(),
    unix_timestamp()
);

然后可以执行这些查询任意多次,而不必担心手动修改值。
在小提琴上看到了吗
我也建议你重新命名 employeeID 像这样的 username . 名称中带有“id”的列应该是数字,并且可以是该行的唯一标识符,也可以是外键。否则会让人困惑。

相关问题