在MySQL表中插入多条记录,通过一次查询自动递增

在MySQL表中插入多条记录,通过一次查询自动递增,mysql,auto-increment,luhn,Mysql,Auto Increment,Luhn,我希望能够使用一个查询将大量连续记录插入到具有自动增量字段的表中,将另一个字段的值设置为所有插入行的常量值 例如: 在哪里。。。创建一组无限行或类似行。插入CardNumber校验位值0、0、0、0….、0-类似的内容?我不完全理解你的意思,但是上面的代码片段将为CheckDigit值插入0,并且插入的次数是0的次数。如果您需要为要创建的记录数指定一个数字,则需要一个函数。我提供的示例INSERT旨在插入100万行。您的问题并不完全清楚。如果您想知道如何高效地插入100万行,那么您不能在一个查询

我希望能够使用一个查询将大量连续记录插入到具有自动增量字段的表中,将另一个字段的值设置为所有插入行的常量值

例如:


在哪里。。。创建一组无限行或类似行。

插入CardNumber校验位值0、0、0、0….、0-类似的内容?我不完全理解你的意思,但是上面的代码片段将为CheckDigit值插入0,并且插入的次数是0的次数。如果您需要为要创建的记录数指定一个数字,则需要一个函数。我提供的示例INSERT旨在插入100万行。您的问题并不完全清楚。如果您想知道如何高效地插入100万行,那么您不能在一个查询中完成。您可以使用事务和准备好的语句分批执行。您准备并执行一条语句,并将不同的值绑定到该语句。每插入1000次,您就提交一个事务并启动一个新事务。这就是你如何使它快速高效。但我不知道这是否是你想要的,我不能再帮你了。你能提供更多细节吗? CREATE TABLE CardNumbers ( First15 BIGINT NOT NULL AUTO_INCREMENT, CheckDigit DECIMAL(1, 0) NOT NULL, PRIMARY KEY (First15) ) ENGINE=InnoDB AUTO_INCREMENT=123456789012345;
INSERT INTO `CardNumbers` (CheckDigit)
SELECT 0 FROM (...) LIMIT 1000000;