2012-05-28 35 views
0

我有一些代碼即時試圖獲得工作。我在尋找的是讓它查詢一個網站,然後顯示結果並上傳到數據庫。我希望它通過檢查日期來忽略我工作過的重複項。有問題即時是在另一個股票代碼在用戶搜索不插入到數據庫,因爲日期是相同的。任何人有任何建議?多不重複MYSQL

<?php 
$con = mysql_connect("localhost","user","pass"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("bbpinpal_stocks", $con); 
mysql_query("INSERT INTO stocks (stock_name, stock_value, stock_perc, date) 
VALUES ('$name', '$last','$perc2', '$date')"); 


$result = mysql_query("SELECT * FROM stocks"); 

echo "<table border='1'> 
<tr> 
<th>Name</th> 
<th>Value</th> 
<th>Percent Change</th> 
<th>Date</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
echo "<tr>"; 
    echo "<td>" . $row['stock_name'] . "</td>"; 
    echo "<td>" . $row['stock_value'] . "</td>"; 
    echo "<td>" . $row['stock_perc'] . "</td>"; 
     echo "<td>" . $row['date'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 

mysql_close($con); 
?> 

我已將日期設置爲唯一,但我知道這是我的問題。我怎麼能有這樣的,以便它檢查兩個名字和日期,如果匹配忽略

+0

你能不能用一個獨特的自動遞增ID對證呢? –

+0

如果我得到你的權利,你要避免重複?爲此,請在查詢中輸入「SELECT DISTINCT * FROM stocks」。 – nullpointr

+0

心不是在SELECT DISTINCT僅列? –

回答

0

我已經設定的日期以獨特的,但我知道那是我的概率問題

這是最有可能的問題。爲什麼不用另一列來唯一標識一行?

http://en.wikipedia.org/wiki/Unique_key

「..Each唯一密鑰從該數據實體的一個或多個數據屬性組成..」

1

date一個上(stock_name, date)替換您UNIQUE指數:

ALTER TABLE stocks 
    DROP KEY date, 
    ADD UNIQUE KEY (stock_name, date) 
+0

這工作就像一個魅力 –

0

INSERT IGNORE防止你具有主鍵是已經在數據庫中添加數據。您可以有一個由2個字段組成的主鍵。