0

200行のテーブル(id、password)を自動的に作成し、php / mysqlを使用して200行の5桁のパスワード(1〜9、AZ)を生成する方法はありますか?

4

2 に答える 2

1

MySQLで5桁のパスワードを生成するには、次のようなものを使用できます。

SUBSTRING(conv(floor(rand() * 99999999999999), 20, 36), 1, 5);

また、データベースレベルですべてを解決したい場合は、ストアドプロシージャによって提供されるループ構文を確認できます。

CREATE PROCEDURE doiterate(p1 INT)
BEGIN
  label1: LOOP
    SET p1 = p1 + 1;
    IF p1 < 10 THEN
      ITERATE label1;
    END IF;
    LEAVE label1;
  END LOOP label1;
  SET @x = p1;
END;

例:http ://dev.mysql.com/doc/refman/5.5/en/loop.html

于 2012-09-09T13:11:06.137 に答える
0
<?php
function generate($length, $chars = '') {
    if (!$chars) $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $ret = '';
    for ($x=0;$x<$length;$x++) {
        $ret .= $chars[rand(0,strlen($chars)-1)];
    }
    return $ret;
}

for ($x=0;$x<200;$x++) {
    Sql::exec('INSERT INTO users (id,password) VALUES (NULL,?)',generate(5)); // just replace with your own function to execute SQL
}
?>
于 2012-09-09T13:09:36.257 に答える