student(sid char(10) 主键,sname,sex,dob )
执行下面系列查询将原有记录打乱插入回学生表:
-- 创建一个结构与学生表结构相同的中间过渡表
create table s1 (sid char(10) primary key,
sname varchar(50),sex char(1),dob date)
-- 将学生表中的数据插入到s1
insert into s1 select * from student
-- 清空学生表
truncate table student
-- 将中间过渡表s1中的记录打乱插入回学生表
insert into student select * from s1 order by rand()
-- 删除过渡表
drop table s1
在前面在加一列,然后把union all 的结果放到子查询中,用来排序比如:
select * from
(select 0+a ord,t.* from where a is not null
union all
select 1+b ord,t.* from where a is not null
) ta
order by ord
创建表的时候,在最后面加个ENGINE=InnoDB DEFAULT CHARSET=utf8即create table XXX(
)ENGINE=InnoDB DEFAULT CHARSET=utf8
然后在插入就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)