【发布时间】:2015-12-01 08:43:01
【问题描述】:
假设,我有一个包含五列 col1、col2、col3、col4 和 user_id 的表。现在,我有一组user_id 值,比如一千。我想插入数千条记录,其中只有不同的列值为user_id。如果有更简单的方法而不是制作一千个 ('col1value','col2value','col3value','col4value',someUserId) 并将它们连接到单个 insert into tbl (col1,col2,col3,col4,user_id) values 查询中?
更新:我想需要澄清一下
所以这里是一个简单的例子。假设我有一个events 表,其中包含event 和user_id 字段。对于 id 为 1、2、5、101、233、422 和 1000 的用户,会发生一些 call 事件。所以我需要在表中插入 7 条记录,所以它应该看起来像
+-------+---------+
| event | user_id |
|-------|---------|
| call | 1 |
| call | 2 |
| call | 5 |
| call | 101 |
| call | 233 |
| call | 422 |
| call | 1000 |
+-------+---------+
我希望在数据库方面尽可能高效。到目前为止,我认为我必须进行这样的 SQL 查询:
insert into events (event,user_id) values ('call',1),('call',2),('call',5),('call',101),('call',233),('call',422),('call',1000);
然后执行单个查询
但也许有一些更简单有效的方法?也许有 SQL 参数之类的东西?
【问题讨论】:
-
将插入语句放入循环中。除非您发布代码供我们查看,否则我们无法给您任何代码建议。