我想循环遍历一个预先生成的值列表,并为每个项目插入一些数据到表中。
DELIMITER //
START TRANSACTION;
FOR myitem IN (1, 5, 6, 14, 73, 811)
DO
INSERT INTO `TestTable` (`userid`, `info`) VALUES (myitem, 'test input')'
END FOR;
ROLLBACK;
//
我在列表的开头得到一个语法错误。(使用MariaDB 10.7和for循环使用1..5
)
我已经检查了文档here,但它没有显示使用定义的列表。
1条答案
按热度按时间wa7juj8i1#
FOR IN()
循环只支持序列,列表只能用于IN()
条件。一个简单的纯SQL解决方案是将值移动到WHERE条件中:
一个更好和更快的方法是在客户端应用程序中使用批处理执行来处理这个问题:
Python示例: