0
有沒有一種方法可以自動創建一個包含200行的表(ID,密碼),並生成5位密碼(1-9,AZ) 200行與PHP/MySQL的?MYSQL爲200行生成5個隨機字符(1-9,AZ)
有沒有一種方法可以自動創建一個包含200行的表(ID,密碼),並生成5位密碼(1-9,AZ) 200行與PHP/MySQL的?MYSQL爲200行生成5個隨機字符(1-9,AZ)
對於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;
<?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
}
?>
你說得對,我沒有考慮到。 –
我在上面編輯了我的答案 - 應該更好......你怎麼看? (我不是那種計算熵的經驗,所以只要告訴我什麼時候我錯了;)) –
那麼僞隨機問題呢? – TigOldBitties