0

我有一些代码正在尝试开始工作。我正在寻找的是拥有它以便我查询一个站点,然后显示结果并上传到数据库。我希望它通过检查日期来忽略我工作的重复项。我遇到的问题是,当用户搜索另一个股票代码时,它不会插入数据库,因为日期相同。有人有什么建议吗?

<?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);
?>

我已将日期设置为唯一但我知道这是我的问题。我怎样才能拥有它,以便它检查名称和日期以及是否匹配以忽略

4

3 回答 3

1

将您的UNIQUE索引 on替换为dateon (stock_name, date)

ALTER TABLE stocks
  DROP KEY date,
  ADD UNIQUE KEY (stock_name, date)
于 2012-05-28T16:27:54.663 回答
0

我已将日期设置为唯一但我知道这是我的问题

这很可能是问题所在。为什么不使用另一列来唯一标识一行?

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

“..每个唯一键都由该数据实体的一个或多个数据属性组成..”

于 2012-05-28T16:29:15.707 回答
0

INSERT IGNORE 可防止您使用数据库中已有的主键添加数据。您可以拥有一个由 2 个字段组成的主键。

于 2012-05-28T16:29:51.697 回答