我碰到一個問題,我似乎無法克服它。我使用LOAD LOCAL DATA INFILE
從文本文件中獲取信息(兩列29.12 23.42,例如以空格分隔)。最初這隻與MySQL中的一列有關,但是我必須添加一個ID AUTO INCREMENT
,這樣我才能使用最新的條目,另外我想現在將另一列存儲在我的數據庫中。這裏是我的代碼,它可能是很明顯的,但我似乎無法找到它:MySQL「LOAD LOCAL DATA INFILE」
<?PHP
$username = "root";
$password = "";
$hostname = "localhost";
$table = "Received_Data";
// Connect to Database and Table
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
$selectdatabase = mysql_select_db("IWEMSData",$dbhandle)
or die("Could not select IWEMSData");
echo "Connected to IWEMSData<br>";
// Clear Current Table and ReCreate
$dt = /*"UPDATE Received_Data SET PotVal = ''";*/ "DROP TABLE Received_Data";
mysql_query($dt);
$ctb = "CREATE TABLE Received_Data
(
Current DECIMAL(30,2) NOT NULL,
PotVal DECIMAL(30,2) NOT NULL,
ID BIGINT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(ID,PotVal,Current)
)";
mysql_query($ctb, $dbhandle);
echo "Received_Data Table has been created";
// Text File to read in
$Textfile = 'IWEMSData.txt';
mysql_query('
LOAD DATA LOCAL INFILE "IWEMSData.txt"
REPLACE INTO TABLE Received_Data
FIELDS TERMINATED BY ""
LINES TERMINATED BY "\\r\\n
(PotVal, Current)
";')
or die('Error Loading Data File.<br>' . mysql_error());
// Close Database connection when complete
mysql_close($dbhandle);
?>
所以我想是第1列是ID,其將在每個條目自動遞增。第二行是PotVal,第三行是Current。然後我只想存儲在第二和第三列。
我得到的問題是ID和Current顯示不正確的值,我似乎只能得到一行。
在此先感謝!
你會澄清你遇到什麼問題?我看到你說你想說什麼,但不明白哪一部分現在失敗。 – 2013-04-22 15:08:21
喬治謝謝你的迴應。我得到的問題是ID和Current顯示不正確的值,我似乎只能得到一行。正在使用的文本文件有數千行。 :-S – 2013-04-22 15:09:51