替换MySQL中的单引号和双引号 - 导致所有字段显示“最佳”?

时间:2013-10-15 13:59:34

标签: mysql sql mysqli

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

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

但它一直用“BEST”替换该列中的所有字段。有什么线索的原因?

2 个答案:

答案 0 :(得分:2)

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

开发人员应该始终是一个现实的人。

常识告诉我们像REPLACE(column_name, '"', '')这样的没有声明可以取代“BEST”这个词。

所以,永远不要问这样的问题,但必须进行一些调查 显然,这里发布的声明不对此问题负责,但有其他一些代码确实更新,或者您检查错误的数据库,运行错误的脚本,所有这些猜测都是真正的。虽然假设Mysql会替换双引号,但“BEST”这个词不是。

是的,有时在Mysql中发现了一个可怕的错误。然而,为了证明这种情况,只有一个单独的声明绝不是一个证据。要做出证据,一个看起来很现实的问题,必须发布

  • 表格结构
  • 示例数据转储
  • 替换查询
  • 替换
  • 后运行SELECT查询的输出

这样任何人都可以复制并证实或反驳声明

答案 1 :(得分:0)

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

mysqli标记让我想到了PHP ..如果column_name是一个变量,你可能在运行时实际上这样做了:

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

这将产生您正在经历的奇怪行为。老实说,我无法想到这种行为的任何其他解释。