如何通过随机位置在表之间移动数据?
我使用此代码将所有数据从table xxx
移至table yyy
order by id asc
,这样做效果很好。
<?PHP
include("connect.php");
$sql = "INSERT INTO yyy
(name , last_name , tel_no)
SELECT
name , last_name , tel_no
FROM xxx order by id asc";
$dbQuery = mysql_query($sql);
?>
但现在我想通过随机位置(而不是table xxx
)将所有数据从table yyy
移动到order by id asc
,这样做的最佳方式是什么?
答案 0 :(得分:1)
您可以使用RAND()函数随机排序行
ORDER BY RAND()
答案 1 :(得分:1)
从表中选择数据时,如果没有ORDER BY语句,则返回数据的顺序有否保证。订单不是表的属性,完全可能执行相同的SELECT两次将不以相同的顺序返回数据。
因此,虽然您已经通过订单将数据插入到表中,但您永远无法保证可以以相同的顺序将其从表中删除。因此,这样做毫无意义。
当您选择数据时,即当您想要执行某些业务逻辑或想要向人类显示数据时,您应该添加所需的任何排序顺序。如果您想随机订购,那么您可以使用RAND()
函数,该函数返回一个随机浮点值。
select * from xxx order by rand()