-4

对,所以我尝试使用以下方法替换 MySQL 数据库中所有出现的双引号:

UPDATE datatable SET column_name = REPLACE(column_name, '"', '');

但它不断用单词 BEST 替换该列中的所有字段。任何线索为什么?

4

2 回答 2

2

这是一个过于本土化的问题,缺乏常识。

开发人员应该永远是一个现实的人。

常识告诉我们,没有任何陈述可以REPLACE(column_name, '"', '')代替“BEST”这个词。

因此,永远不应该问这样的问题,但必须进行一些调查。
显然,这里发布的声明不是问题的原因,而是有一些其他代码确实更新了,或者您正在检查错误的数据库,运行错误的脚本等。所有这些猜测都是真实的。虽然假设 Mysql 会用“BEST”这个词替换双引号,但事实并非如此。

是的,有时在 Mysql 中发现了一个可怕的错误。然而,要证明这样的情况,仅凭一个凭空而来的单独陈述决不能成为证明。为了证明,一个看起来很现实的问题,一个人必须张贴

  • 表结构
  • 样本数据转储
  • 替换查询
  • 替换后运行的 SELECT 查询的输出

这样任何人都可以复制并确认或反驳该声明

于 2013-10-15T14:26:49.813 回答
0

你确定你没有用列名本身替换字段内容吗?

mysqli标签让我想到 PHP .. 如果column_name是一个变量,您可能实际上在运行时执行此操作:

UPDATE datatable SET TheColumn = REPLACE('TheColumn', '"', '');

这会产生你正在经历的奇怪行为。老实说,我想不出任何其他解释这种行为。

于 2013-10-15T14:38:22.160 回答