私は名前付きの場所の中にテーブルを持つ場所という名前の古いデータベースを持っています。古いテーブルから新しいテーブルへの複雑なMySQLの結合
この表には、id(int、index)、承認(int)、都市(text)、国(text)、見出し(double)、lat(double)、lng(double)の7つの変数があります。
私は複雑さという名前の新しいデータベースを持っています。
新しいデータベースはそれほどのMySQLの空間索引を使用するように起こっている:データベースは、私が新しいテーブルに古いテーブルをコピーする必要が
gsvrawという名前の新しいテーブルを持っている、それがトリッキー取得する場所しかし、これはされていることを 後でポリゴン内を検索することができます。新しいデータベースではlatの代わりにlngという名前の新しい列を追加したいと思います。新しい列を作成するため
例文:
ALTER TABLE gsvraw ADD location POINT NOT NULL;
CREATE SPATIAL INDEX location ON gsvraw (location);
これは、位置列に新しい値を挿入するための例示的な文である:
INSERT INTO gsvraw (location) VALUES(GeomFromText('POINT(40 -100)'));
40及び-100はLATであろうとlng。
アイデア?
私はここでMITで3人の異なる "グル"を1時間ずつ無駄にし、文字通りどこにもいませんでした。
私が稼働しているサーバは大きな問題を引き起こしているので、pythonを使用していて、MySQLdbはありません。
うまくいけば、誰かが私たちよりもスマートで、生のSQL文を助けることができたらと思っています。
私はMAMP proを使用してApache MySQLとPHPを搭載したMacでこれを実行しています。これはいくつかの問題を引き起こすので、実際には動作する唯一のソリューションはストレートPHPとSQLです。 アイデア
ソリューション:
<?php
$con = mysql_pconnect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database1", $con);
$result = mysql_query("SELECT * FROM database1 WHERE ")
or die(mysql_error());
$con2 = mysql_pconnect("localhost","username","password");
if (!$con2)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("complexity", $con2);
while($row = mysql_fetch_array($result)) {
mysql_query("INSERT INTO table1 (id, approved, city, country, heading, location) VALUES ('".$row['id']."', '".$row['approved']."', '".$row['city']."', '".$row['country']."', '".$row['heading']."', PointFromText('POINT(".$row['lng']." ".$row['lat'].")'))", $con2);
}
?>
私はスクリプトを書くことになりましたが、コードを編集する必要があり、単独で間違っていました。 –