我有一个数据库,其中包含 1,755,213 个 CM23 5YF 格式的邮政编码条目。我想将其更改为 CM235YF,只需从中删除一个空格并在新列(Wardcode)中对其进行评分。
桌子
邮政编码 Wardcode,
这是我正在使用的
功能是
//*** Select * from uk_data
function uk_pc_data($id){
global $host, $dbname, $user, $pass;
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); ///*** for error handling 165000
$STH = $DBH->query("SELECT * from uk_pc order by Postcode asc LIMIT $id, 50000");
$STH->setFetchMode(PDO::FETCH_ASSOC);
return $STH;
}
//*** Update Cat10 with Post code
function uk_pc_update_wardcode(){
global $host, $dbname, $user, $pass;
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$DBH->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$STH = $DBH->prepare("update uk_pc SET
Wardcode = :cat10
WHERE Postcode = :Postcode
");
$STH->bindValue(':Postcode' , $Postcode);
$STH->bindValue(':cat10' , $cat10);
return $STH;
}
以这种方式使用它
$q = $_GET['id'];
$STH1 = uk_pc_data($q);
while (($row = $STH1->fetch()) !== false) {
$pc_o = change_text(' ', '', $row['Postcode']);
$data_insert = array(':cat10'=>$pc_o , ':Postcode'=>$row['Postcode']);
$STH = uk_pc_update_wardcode();
$STH->execute($data_insert);
echo $pc_o .'<br>';
}
有没有一些简单的方法来改变这一点。我的脚本正在运行,但我想知道有没有其他方法可以使用,只有一个脚本可以完成所有工作?