我正在尝试根据特定搜索条件搜索并替换mssql
中的列中的特定文本。我只是弄错了。
我曾尝试使用此主题中的2个示例,但无法正确使用 - Updating serialised array in mysql (without unserialising?)
注意wp_postmeta
是表名,meta_value
是列名
SET @search = 'View Map +';
SET @replace = 'View New Map2 +';
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value, CONCAT('s:',
LENGTH(@search), ':"', @search, '"'), CONCAT('s:', LENGTH(@replace), ':"',
@replace, '"')) WHERE `meta_id` = 170442
我收到此错误
MySQL returned an empty result set (i.e. zero rows)
我也尝试了第二种选择,但仍然失败
$old = 'View Map +';
$new = 'View New Map2 +';
$search = 's:' . strlen($old) .':"' . $old . '"';
$replace = 's:' . strlen($new) .':"' . $new . '"';
$query = "UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,
'{$search}','{$replace}') WHERE `meta_id` = 170442 and
meta_value LIKE '%View Map +%';";
我收到此错误
$old = 'View Map +';
MySQL说:
Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near '$old =
'View Map +''at line 1
有什么想法吗?
谢谢
答案 0 :(得分:0)
我正在摸不着头脑,但上面的选项1现在正常工作..我没有在搜索和替换框中的整个数组,但部分因此错误