2014-02-10 25 views
1

我想用myTable的名称列中的s替换's的所有出现。 我试过REPLACE,但它取代了所有记录。我想为一些顾客做。MySQL从列中替换字符

说明:客户是myTable中的外键。

在此先感谢

更新:

我尝试了一些疑问 REPLACE(name, "'s", "s") from data where cust_id = 1但这不起作用

从我试图SELECT REPLACE(name, "'s", "s") from data where cust_id = 1问题之一。 这是替换表中的所有记录

+0

您是否尝试过'WHERE'子句? –

+0

是的,我试过where子句,但它不接受where子句 – User16119012

+0

你试过什么查询?你能告诉我们SQL吗? –

回答

2

跨表中的所有记录的简单替换功能也可以用:

UPDATE myTable 
set name = REPLACE(name, '\'s', 's') 

如果要筛选记录,从另一个表进行更新,那么你就可以做类似

UPDATE myTable 
LEFT JOIN CustomerTable ON myTable.Customer = CustomerTable.Customer 
SET name = REPLACE(name, '\'s', 's') 
WHERE CustomerTable.Field > SomeCondition <== Replace with what you need. 
+1

谢谢你。为什么我不能使用替换更新。无论如何,这帮助了我很多。 – User16119012