目的是让“用户表”(用户ID,用户名)中的用户互为好友,好友数据存放于“好友表”(用户ID,好友ID)。思路如下:
假设表中有10个用户。
1、拿用户表的第1个用户ID,与用户表中的第2,3,4...10分组插入好友表,得到9对好友。
2、拿用户表的第2个用户ID,与用户表中的第3,4,5...10分组插入好友表,得到8对好友。
3、拿用户表的第N个用户ID,与用户表中的第N+1,N+2,N+3...10分组插入好友表,得到10-N对好友。想过用游标+临时表,一边添加好友一边删除临时表中相应的记录,但是要嵌套循环,而游标不能在嵌套中定义。而且游标访问到最后的记录后,不知道怎么返回到刚开始的位置。如果在高级语言中的话,两个临时数据表,两个for嵌套循环就解决了,但是在存储过程中不知怎么处理啊。求各种解决办法。
假设表中有10个用户。
1、拿用户表的第1个用户ID,与用户表中的第2,3,4...10分组插入好友表,得到9对好友。
2、拿用户表的第2个用户ID,与用户表中的第3,4,5...10分组插入好友表,得到8对好友。
3、拿用户表的第N个用户ID,与用户表中的第N+1,N+2,N+3...10分组插入好友表,得到10-N对好友。想过用游标+临时表,一边添加好友一边删除临时表中相应的记录,但是要嵌套循环,而游标不能在嵌套中定义。而且游标访问到最后的记录后,不知道怎么返回到刚开始的位置。如果在高级语言中的话,两个临时数据表,两个for嵌套循环就解决了,但是在存储过程中不知怎么处理啊。求各种解决办法。
解决方案 »
- 如何写mysql存储引擎,帮忙推荐个学习网站?
- MySQL Error: 1033 Incorrect information in file “./xx/info.frm”
- delete 语句找不到字段,是不是应该用连结,帮写下
- mysql中如何存储德文
- 从一个大数据量表中的一个字段提取并分析邮件地址,插入到另一个大数据量表中,求一个高效率的解决办法
- 在windows下如何用批处理创建数据库
- 求救!我怎么存不了16M以上的文件!
- Mysql语言问题!!请大家多指教
- mysql的event执行频率与单次执行时间问题
- mysql procedure 执行报错
- 求一个sql语句
- ubuntu mysql配置错误导致无法启动mysql,希望达人前来帮助。
SELECT * from aa2 a ,aa2 b where a.id<b.id
PS给自己:即使不是让所有用户互为好友,也可以轻松解决。只要先建两个新表,得出结果后再插入现有表就OK了。