php - 更新 MySQL 中的所有记录

标签 php mysql primary-key

我目前有一个 17 列宽且有 30 条记录的表。

基本上,它是我正在抓取的另一个站点的表,然后插入到 MySQL 表中。

$html = str_get_html($newHTML); // get the HTML     
        $tdContents = ""; // declare variable
        $rowArray = array(); // declare array for records
        for ($j = 0; $j < 510; $j++) // loop through each TD element, 17 columns by 30 records so 510
        {
            $f = $html->find("td",$j); // get the td elements from the html
            $tdContents = $f->innertext; // get the text inside the td
            $rowArray[] = $tdContents; // store that text inside the array

            if ($j == 16 || $j == 33 || $j == 50 || $j == 67 || $j == 84 || $j == 101 || $j == 118 || $j == 135 || $j == 152 || $j == 169 || $j == 186 || $j == 203 || $j == 220 || $j == 237 || $j == 254 || $j == 271 || $j == 288 || $j == 305 || $j == 322 || $j == 339 || $j == 356 || $j == 373 || $j == 390 || $j == 407 || $j == 424 || $j == 441 || $j == 458 || $j == 475 || $j == 492 || $j == 509) // every 17 td elements
            {
                $comma_separated = implode("','", $rowArray); // seperate the array contents with commas and apostrophes, set up for mysql
                $comma_separated = "'" . $comma_separated . "'"; // add apostrophes to beginning and end of the string
                $result = mysql_query("INSERT INTO standings_20112012 VALUES (".$comma_separated.")"); // insert the data into mysql
                $rowArray = array(); // clear the array, for the next record

            }
        }

评论应该解释得很好。这会生成一个 17 x 30 的表格,其中包含我需要的所有信息。如果我再次运行它,它会插入另外 30 条记录,这很糟糕。我只想更新/覆盖等已经创建的表。所以表中应该只有 30 条记录。然而,我对此感到难过。

有什么帮助吗?

最佳答案

为您的数据集添加一个唯一的主键。然后将您的 mysql 查询更改为 INSERT IGNORE,它会抛出重复项。或者,如果您需要更新表中已有的内容,您也可以使用 ON DUPLICATE UPDATE

关于php - 更新 MySQL 中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171002/

相关文章:

MYSQL Update Trigger 获取更新的行ID

php - Yii 中的 session 数据未保存到数据库

mysql - 无法创建外键 MySQL Workbench

mysql - 在 MySQL 中一次替换多个内容?

MySQL - 什么是正确的主键方法

database-design - 是否需要有一个序列生成的主键,即使我可能不会将它用于数据库操作

php - 匹配 md5 哈希的正则表达式

php - Laravel 5.1 从 Controller 创建表

php - 如何阻止用户规避付款?

php - 在 PHP 7 Ubuntu 14.04 上调用未定义函数 mb_strlen()