1,測試表結構:
mysql> desc test_user;
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(50) | NO | | NULL | |
| age | int(11) | YES | | NULL | |
| address | varchar(50) | YES | | NULL | |
2,添加隨機字段和索引:
mysql> alter table test_user add random double;
mysql> alter table test_user add index (random)
3,填充隨機字段數據:
mysql> update test_user set random = rand();
4,隨機返回一條數據:
mysql> select id ,name from test_user where random > rand() order by random limit 1;
+----+------+
| id | name |
+----+------+
| 9 | com |
+----+------+
1 row in set (0.00 sec)
mysql> select id ,name from test_user where random > rand() order by random limi
t 1;
+----+------+
| id | name |
+----+------+
| 7 | www |
+----+------+
1 row in set (0.00 sec)