关于向数据库中指插入数据的问题
时间:2011-07-28
来源:互联网
我现在有一个问题,向网站会员发送短消息。
数据库模型是这样的,有三个表,分别是users(user_id),user_sms(user_id,sms_id),sms(sms_id)。
现在有一个需求是向多个用户发送短消息。user_id列表已经保存在数组中了,sms_id为固定的值1。现要向users_sms表中为每一个用户插入一条记录(user_id,1)。
比如user_id列表保存在数据user_list中(比如有四个用户a,b,c,d),sms_id的值为1。要求的结果是向user_sms表插入四条记录(a,1),(b,1),(c,1),(d,1),请问SQL语句应该怎么写?
现在有两种方法:
1:遍历数据user_list,每遍历一次向user_sms表中插入一条记录。显示如果记录条数太多,速度上就太慢。
2:insert into user_sms(user_id,sms_id) select user_id,1 from users where user_id in $user_list;这一种方法不好的地方就是,我已经得到了user_id列表,向user_sms表中插入记录应该不需要再和表users有关联。
请问各位大虾有没有什么更好的方法?
数据库模型是这样的,有三个表,分别是users(user_id),user_sms(user_id,sms_id),sms(sms_id)。
现在有一个需求是向多个用户发送短消息。user_id列表已经保存在数组中了,sms_id为固定的值1。现要向users_sms表中为每一个用户插入一条记录(user_id,1)。
比如user_id列表保存在数据user_list中(比如有四个用户a,b,c,d),sms_id的值为1。要求的结果是向user_sms表插入四条记录(a,1),(b,1),(c,1),(d,1),请问SQL语句应该怎么写?
现在有两种方法:
1:遍历数据user_list,每遍历一次向user_sms表中插入一条记录。显示如果记录条数太多,速度上就太慢。
2:insert into user_sms(user_id,sms_id) select user_id,1 from users where user_id in $user_list;这一种方法不好的地方就是,我已经得到了user_id列表,向user_sms表中插入记录应该不需要再和表users有关联。
请问各位大虾有没有什么更好的方法?
作者: warmspace2008 发布时间: 2011-07-28
在你的程序中把 a,b,c,d 通过字符串处理成 (a,1),(b,1),(c,1),(d,1) 这是个效率最快的一种方法。
作者: ACMAIN_CHM 发布时间: 2011-07-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28