我試圖爲數據庫中存在的每一行分配一個名爲'uniqueid'的字段。大約有188,000行可用。使用唯一值更新MYSQL中的每一行
這裏是我使用的代碼:
$connection = mysql_connect("localhost","root","root");
mysql_select_db("comics",$connection) or die ("Database not found");
$query = mysql_query("select * from comic_issues");
if ($query){
$rows = mysql_num_rows($query);
foreach($rows as $row){
$str = strtolower($row['series'].$row['volume'].$row['issue']);
$str = preg_replace('/[^A-Za-z0-9]/', '', $str);
$update = "update comic_issues set uniqueid='" . $str . "' where id='" . $row['ID'] . "'";
mysql_query($update);
exit();
}
}
正在發生的事情是,每一行都獲得具有相同UNIQUEID,這似乎是每一個我運行腳本時不同的值更新。
爲什麼不把'AUTO_INCREMENT'屬性應用到'uniqueid'(如果它是一個整型數據類型),並讓MySQL爲你完成剩下的工作? – eggyal
@eggyal我正在使用此字段可以將上傳的CSV文件與我的內部數據同步。他們的內容可能不匹配我的,因此獨特的領域。 – TerryG