我有以下表格:

user

+-----------------------------------------------+

| user_id | username | Password | ... |

+-----------------------------------------------+

| 1 | a | *** | ... |

+-----------------------------------------------+

| 2 | b | *** | ... |

+-----------------------------------------------+

| 3 | c | *** | ... |

+-----------------------------------------------+

| 4 | d | *** | ... |

+-----------------------------------------------+

| 5 | e | *** | ... |

+-----------------------------------------------+

friends

+-----------------------------------------------+

| f_id | user_id | friend_id | ... |

+-----------------------------------------------+

| 1 | 4 | 2 | ... |

+-----------------------------------------------+

| 2 | 4 | 1 | ... |

+-----------------------------------------------+

| 3 | 4 | 5 | ... |

+-----------------------------------------------+

| 4 | 4 | 3 | ... |

+-----------------------------------------------+

我想让所有可用的用户都被添加为朋友(在这种情况下,user_id为1将有3个朋友要添加(2,3,5).但是,通过使用下面的SQL语句我只获得1个用户(4)可供添加:

$sql = "SELECT * FROM user WHERE user.user_id NOT IN

(SELECT friends.friend_id FROM friends) AND

user.user_id <> $_SESSION['id']." ORDER BY RAND() LIMIT 5";

但是当我以用户4登录时没有用户可以添加,这种方法很有效.这对我来说有点棘手.任何想法都将非常感激.

谢谢

php mysql not in_php – MySQL – NOT IN产生不需要的结果相关推荐

  1. qt mysql now()_Qt + mysql 運用 (項目一)

    自己整合了一些資料方便以后查看,另外參考了一些資料嘗試做了個學生管理系統 以下資料若有錯誤或有侵權的地方,請前輩們指正,謝謝! 在Qt項目中右鍵執行qmake,之后在運行. 另外一種方法是在MVS20 ...

  2. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql

    下载 安装 下载完后,将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\mysql 下. 接下来需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\mysql ,在该文件夹 ...

  3. fedora mysql 客户端_fedora mysql 安装

    本例使用的是 mysql-5.0.45.tar.gz 安装编译前提: Yum install gcc Yum install gcc-c++ 1.第一个MYSQL安装 编译1.带上参数 ./confi ...

  4. window mysql 字符集_Windows mysql默认字符集修改

    一.通过MySQL命令行修改: mysql> SET character_set_client = utf8 ; mysql> SET character_set_connection = ...

  5. mysql启用keepalive_keepalive+mysql 主主配置

    1.   环境说明: 机器名 eth0 说明 server01 192.168.100.30/24 Mysql.keepalive server02 192.168.100.31/24 Mysql.k ...

  6. 使用MySQL Proxy解决MySQL主从同步延迟

    MySQL的主从同步机制非常方便的解决了高并发读的应用需求,给Web方 面开发带来了极大的便利.但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的, ...

  7. mysql isreg_`Innodb` MySQL中如何优雅的删除大表跑路

    最近很想写写MySQL相关的内容,就从这个话题出发吧 有人说删MySQL表谁不会 不就是 drop table TABLENAME 如果在生产环境中,你对一张TB级别的大表,敲下这行命令 那么你的主管 ...

  8. oracle收购Mysql后,Mysql的安装配置方法

    自从Oracle收购MySQL后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.m ...

  9. centos7 安装mysql php_Centos7安装mysql与php的方法

    本文主要和大家分享Centos7安装mysql与php的方法,希望能帮助到大家. 相关mysql视频教程推荐:<mysql教程> 官网下载安装mysql-server 依次使用下面三个命令 ...

最新文章

  1. OpenGL之深入解析坐标系
  2. 在TCP客户端连接成功的回调函数里,无法访问到客户端套接字的明细
  3. 高级php平时的工作,【高级PHP开发工作内容|工作职责|高级PHP开发做什么】-看准网...
  4. Java InputStreamReader getEncoding()方法及示例
  5. Android Studio自定义模板 做开发竟然可以如此轻松 后篇
  6. ubuntu下安装latex
  7. python cookbook 小结
  8. java restful中文乱码_使用RestTemplate访问RESTful服务乱码处理
  9. Java 8 新的时间日期库java.time
  10. python3 自定义排序_Python3中的自定义排序
  11. [转] PHP:自己动手制作伪原创程序
  12. 服务器时间修改方法,修改云服务器时间设置方法
  13. 卸载Proteus7进展缓慢、卡顿
  14. 相似图片搜索算法介绍
  15. 20130419阿里电话面试记录
  16. 将solidworks建的机器人模型导入到ros中
  17. Mysql 统计按学生姓名分组,总成绩前十
  18. 什么是AUTOSAR, 为什么要用AUTOSAR
  19. 一路编程,一路迷茫,一路醒悟,接着迷茫,再醒悟再迷茫
  20. 中等专业学校计算机教师,中等专业学校计算机老师年度工作总结

热门文章

  1. AngularJS + Java---前台网页与后台数据库传递数据 基本结构
  2. 互联网系统性能优化方向
  3. storm的数据源编程单元Spout学习整理
  4. ajax正确返回数据,却进入了error分支
  5. Js 获取 本周、本月起始时间
  6. (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
  7. 数据科学 IPython 笔记本 8.8 直方图,分箱和密度
  8. Airflow 中文文档:调度和触发器
  9. Atom飞行手册翻译: 2.6 代码段
  10. PHP编写shell