mysql如何给一个表中插入一个字段这个字段会随机生成一个唯一码

解决方案 »

  1.   

    借花献佛
    <?php
    function get_order_sn() {
     /* 选择一个随机的方案 */
     mt_srand((double) microtime() * 1000000); return 'AIR' . date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
    }
    echo $order = get_order_sn();
    ?>位数啥的自己控制吧.
      

  2.   

    http://community.itbbs.cn/thread/19712/// 生成n位伪随机字符串
    function gen_randomstr( $n=8, $ex = false ) {
    // blowfish只能使用$alpha 及./作为 salt
    $alpha = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $ext = '~!@#$%^&*()_+-=<>?[]{};:,.`/';
    return !$ex ? substr(str_shuffle(str_repeat($alpha, mt_rand(2,5))), 0, $n) : substr(str_shuffle(str_repeat($alpha. $ext, mt_rand(2, 5))), 0, $n);
    return !$ex ? substr(str_shuffle($alpha), 0, $n) : substr(str_shuffle($alpha. $ext), 0, $n);
    }
    $sql_fldv=gen_randomstr(5);
    先添加新字段,然后查询表有m条记录. 循环n次取n个随即数,填入对应字段
      

  3.   

    如果用php的话可以用uniqid()生成唯一id,再用字符串函数处理一下写入字段
    用mysql的话,可以结合rand,md5生成一定程度上的唯一值
    INSERT `table` (`column`) VALUES (LEFT(MD5(RAND()),5));