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
information_schema.columns表中有一个ordinal_position字段,表示的是列标识号,其实就是字段编号,你可以看看这些字段标号是不是按照你现在有字段顺序摆列的,如果是,那么用ordinal_position排序就可以了。如果不是,而是按照你查询information_schema.columns表的顺序编的号,那么可能在建表后有过插入字段(比原来表中没有第四题字段一类的),或者修改字段名称(这个也可能修改字段编号),那么就将数据备份重建该表,这样应该就没有问题了,不过可能也需要按照ordinal_position排序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)