【发布时间】:2014-05-22 15:41:15
【问题描述】:
我有一个整数列表,我想要一个将所有整数添加为特定列的 INSERT。这个想法是我可以避免使用多个 INSERT,或者我可以避免使用 SQL FOR LOOP。
这是我尝试过的:
INSERT INTO my_table
(id, number, text)
SELECT array_id, 5, 'Text'
WHERE array_id = (SELECT 9,14,19,39,58,15,1,59,40,20,17,69,12,42,22,2,57,1,8,4)
或
WHERE array_id IN (9,14,19,39,58,15,1,59,40,20,17,69,12,42,22,2,57,1,8,4)
还有其他各种东西,
有没有快速的方法来做到这一点?
同一问题的 B 部分是添加 Lists 的组合,如下所示:
INSERT INTO my_table
(id, number, text)
SELECT array_id, array_number, array_text
WHERE array_id = (SELECT 9,14,19,39,58,15,1,59,40,20,17,69,12,42,22,2,57,1,8,4)
AND array_number = (SELECT 1,2,3)
AND array_text = (SELECT 'Text A', 'Text B')
这样它就可以创建所有可能的组合。
如果有这样的超级脚本我肯定想知道!
编辑:
我认为我的问题类似于this here。
【问题讨论】:
-
为什么不在一个事务中运行多个
INSERTs? -
因为我有一个很长的 id 列表,而且我会花很长时间。
-
整列的值是否相同?
标签: mysql