0
我正在使用腳本將幾何特徵導入數據庫。我將花費下面的腳本。如果導入所有geo_features,該腳本將很有效。然而,我的問題是,如果我想改變一些功能,那麼這個腳本將刪除整個表格,並只輸入更改。由於我正在導入的文件只有新增功能或需要進行的更改。將幾何特徵更改爲現有數據庫
該表格包含1000行。所以清空它等不是一個選項。
有人可以指導我如何修改這個腳本,這樣如果我想添加到數據庫中的現有表,或者更改已經在數據庫表中的行嗎?
腳本:
<?php
define('DBHOST', 'localhost');
define('DBUSER', 'root');
define('DBPASS', '');
define('DBNAME', 'sample');
$conn = mysqli_connect(DBHOST,DBUSER,DBPASS,DBNAME);
$file=file_get_contents("wf.geojson");
$contents=json_decode($file);
echo "processing...";
mysqli_query($conn,"DELETE FROM geo_features") or die("delete error");
for($i=0;$i<count($contents->features);$i++){
$type=$contents->features[$i]->properties->type;
$name=$contents->features[$i]->properties->name;
$aisle=$contents->features[$i]->properties->aisle;
$floormap_id=$contents->features[$i]->properties->id;
$g=$contents->features[$i]->geometry->coordinates[0];
$gt=$g[0][0]." ".$g[0][1];
for($j=1;$j<count($g);$j++){
$gt.=",".$g[$j][0]." ".$g[$j][1];
}
$geometry="POLYGON((".$gt."))";
$sql="insert into geo_features
(id,geometry,type,name,floormap_id)
values('$floormap_id',GeomFromText('$geometry'),
'$type','$name','1')";
echo $sql;
mysqli_query($conn,$sql) or die("error");
}
echo "success!";
?>