Php 更新字段中包含逗号(,)的MySQL表

Php 更新字段中包含逗号(,)的MySQL表,php,mysql,replace,Php,Mysql,Replace,导入MySQL表的是一个包含用户生成的字段值的报表 可能的字段值包括: 前缀,1234 前缀X1234 前缀_1234 所有示例值都表示相同的内容,但输入方式不同(我不控制输入系统) 我希望所有值都使用以下格式: 前缀_1234 我试图对数据库运行此PHP查询以修复逗号值: $sql = "UPDATE tableA SET unit_number = replace(unit_number,'FRGN,','FRGN_') WHERE unit_number like 'FRGN,%'

导入MySQL表的是一个包含用户生成的字段值的报表

可能的字段值包括:

  • 前缀,1234
  • 前缀X1234
  • 前缀_1234
所有示例值都表示相同的内容,但输入方式不同(我不控制输入系统)

我希望所有值都使用以下格式:

  • 前缀_1234
我试图对数据库运行此PHP查询以修复逗号值:

$sql = "UPDATE tableA
SET unit_number = replace(unit_number,'FRGN,','FRGN_')
WHERE unit_number like 'FRGN,%'";
但这似乎不起作用

我是否需要在查询中转义逗号才能使其工作?

尝试以下操作:

$sql = "UPDATE tableA
SET unit_number = concat('FRGN_', replace(replace(replace(unit_number,'FRGN,','') ,'FRGN_',''), 'FRGN', ''))";

试试这个:

$sql = "UPDATE tableA
SET unit_number = concat('FRGN_', replace(replace(replace(unit_number,'FRGN,','') ,'FRGN_',''), 'FRGN', ''))";


这应该很好,但到底是什么不起作用?你真的想要WHERE子句中的拖车号,还是单元号?你已经引用了单元号和拖车号。。。您不应该引用同一字段吗?修复了“单元号”和“拖车号”之间的差异->没有使我的查询示例保持一致!这应该很好,但到底是什么不起作用?你真的想要WHERE子句中的拖车号,还是单元号?你已经引用了单元号和拖车号。。。您不应该引用同一字段吗?修复了“单元号”和“拖车号”之间的差异->没有使我的查询示例保持一致!