MySql将数字替换为给我提供phpmyadmin的值

MySql将数字替换为给我提供phpmyadmin的值,mysql,phpmyadmin,Mysql,Phpmyadmin,我当前正在使用此查询 UPDATE `table_name` SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text') 我有一个数字字段:2、3、4、5、6、7、10、18、22、23、25、26、29、32、34、35、37、39和40 我遇到的问题是,如果我使用UPDATE`Registration` SET`name`=replace(`name`、'2'、'jane')它用jane替换hav

我当前正在使用此查询

UPDATE `table_name`
 SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text')
我有一个数字字段:2、3、4、5、6、7、10、18、22、23、25、26、29、32、34、35、37、39和40

我遇到的问题是,如果我使用
UPDATE`Registration`
SET`name`=replace(`name`、'2'、'jane')
它用jane替换have 2的值,就像我想要的那样,但它也会将包含22到2jane的字段,以及包含32到3jane的字段更改


如何使其仅替换我在查询中输入的确切值(字符串),而不是包含该数字的任何字段?

添加
WHERE
子句

update registration set name = 'jane' where name = '2';
一种方法是

mysql> select replace('32',right('32',1),'jane');
+------------------------------------+
| replace('32',right('32',1),'jane') |
+------------------------------------+
| 3jane                              |
+------------------------------------+
1 row in set (0.00 sec)

mysql> select replace('2',right('2',1),'jane');
+----------------------------------+
| replace('2',right('2',1),'jane') |
+----------------------------------+
| jane                             |
+----------------------------------+
1 row in set (0.00 sec)
因此,在您的案例中,查询可以是

UPDATE table_name 
SET field_name = replace(same_field_name, right(same_field_name,1), 'jane')

违反关系数据库的第一种正常形式并在字段中存储逗号分隔的列表几乎从来都不是一个好主意。@VMai它可能是一个可能值的列表。作为记录,我相信
22
将被
janejane
所取代。谢谢你的帮助,刚刚帮我省去了很多麻烦。