表结构:
create table t_testdata(
id char(3) primary key,
text1 varchar(60) not null,
text2 varchar(60) not null,
text3 varchar(60) not null,
text4 varchar(60) not null

要求:随机生成10w条记录(数据内容为字母和数字组合)。
注意主键哦,鄙人就是不知主键怎么插入10w条不重复的记录(数据内容为字母和数字组合),我想字母大小写共52个加上数字10个,三位共二十多万个不同的id。到底怎么插入啊(详细点)?mysql10W不重复

解决方案 »

  1.   

    用uuid函数  使用ignore into插入
    mysql> select left(uuid(),3);
    +----------------+
    | left(uuid(),3) |
    +----------------+
    | fc4            |
    +----------------+
    1 row in set (0.02 sec)
      

  2.   

    字母大小写共52个加上数字10个,三位共二十多万个不同的id
    [A-Za-z0-9] CHAR(3)一共也就238328个不同的数据,其实已经不是随机的问题了。 楼主的需求算法其实是从 238,328 随机排序后选择前100,000个记录。标准的算法是,把这 238,328 记录全部生成在一张T表中,然后 order by rand() limit 100000