0

我有一个产品 mysql 表。products_image 列中有一些错误数据。展望未来,我可以使用 php 并执行 str_replace,但我的问题是当前数据。

我想更新 products_image,它是产品图像的 url 或路径。它在应该是 / 的路径中有 ./。

有没有办法使用 mysql 中的存储过程(无 php)运行更新语句,或者使用 php,如下所示,但效果不佳。当我在 php 中尝试它时,(见下文)它在大多数情况下都有效,但它超时了。(12779 行)希望您能提供帮助。谢谢。KP

<pre> $sql ="Select products_image from products";
       $result = mysql_query( $sql,$link );
       while ($row = mysql_fetch_assoc($result)) {

        $products_image = $row['products_image'];
        $image = str_replace("./","/", $products_image);

         $sql1="UPDATE products set products_image='$image'";
         $result1 = mysql_query($sql1,$link);
           }
</pre>
4

2 回答 2

2

使用替换功能。

UPDATE products SET products_image = REPLACE(products_image, "./", "/")
于 2013-04-21T04:30:01.260 回答
0

对您的代码的最小更改是:

改变

$sql1="UPDATE products set products_image='$image'";

$sql1="UPDATE products set products_image='$image' WHERE products_image = $row['products_image']";
于 2013-04-21T04:30:33.753 回答