问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

采集别人的数据后,将顺序打乱再重新插入数据库sql

更新时间:2021-10-17 11:29 作者:佚名点击:

采集别人的数据后,希望将原顺序打乱,重新存放,有利于seo。原理是先将原数据库重新排序再插入新的数据库,既保证数据总量不会变化又实现id主键自增。

如原数据表oldtable如下:

id name

1   ts

2   ab

3   at

4   ax

...

目标有多个结果,举其一例如下:

id name

1  ab

2  ax

3  ts

4  at

法一:新建表,用insert

create table newtable like oldtable
insert into newtable (id,name....)
select  (@a := @a+1) as id,t.name,t..... 
from (select name,.... from oldtable order by rand()) as t,(select @a := 0) as t1

法二:用update

UPDATE TABLE_NAME T SET ID = 
(SELECT RR FROM (SELECT ID,@R:=@R+1 RR FROM TABLE_NAME T,(SELECT @R:=0 ) R ORDER BY '这里写需要重新排序的字段') TT WHERE TT.ID=T.ID) ;
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容