i目前有一个大约800列的MySQL数据库,并经常添加到它。
如何添加一个带有4个字母和数字的随机字符串的新字符,例如:4H3K
我也不希望重复发生。
谢谢Chaps!
编辑
哦,ma gad no,我的意思是行不是列。
800行!
正如评论已经显示的那样。为什么在世界上想要800列?似乎是您数据库结构中的市长缺陷。也许您可以解释要存储的内容,以便我们可以帮助您设置正确的结构。800(随机!)列永远不可能是您想要的。
如果您确实打算保留此结构,则可以使用SHOW COLUMNS FROM mydb.mytable WHERE FIELD='newcolname'
查看是否已经存在。
,但我高度推荐重新考虑您的数据库模型。自从其随机列以来,您甚至如何从中选择东西?您始终使用选择 *,然后循环槽所有cols?
这也许可以帮助您。
// first u generate string with numbers and letters with length 4
function genRandomString() {
$length = 4;
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$string = '';
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))];
}
return $string;
}
echo genRandomString(); // will echo one radom string like 4h8l
// second check if the random string exist in table then use new generated string
$new_random_string = genRandomString() ;
$strings = mysql_query("SELECT `string` FROM `table`");
while ($string = mysql_fetch_row($strings)) {
if ($new_random_string == $string[0])
echo genRandomString() ;
}
mysql_query("INSERT INTO `table` (`string`) VALUES ('".$new_random_string."')");