您的位置:首页 > 数据库 > MySQL

mysql replace函数

2016-07-19 00:00 316 查看
摘要: mysql replace函数

relpace

1
UPDATE
tb1
SET
f1=
REPLACE
(f1,
'abc'
,
'def'
);
2
REPLACE
(str,from_str,to_str)
更新 tb1表里面的f1 找到f1后 把f1 里面的 abd 替换成 def

select *,REPLACE(username,"a","b") as test FROM table where 1;

把username字段里面的a替换为b,替换成功则按替换完后输出,若不存在则以原来字符串输出

UPDATE taocan_pic set username=REPLACE(username,'fei','lei');

把username 里面的fei 替换成lei 没有则不替换。

replace into

replace into table (id,name) values('1','aa'),('2','bb') ;

REPLACE INTO `table` (`unique_column`,`num`) VALUES ('$unique_value',$num);跟INSERT INTO `table` (`unique_column`,`num`) VALUES('$unique_value',$num) ON DUPLICATE UPDATE num=$num;还是有些区别的.
区别就是replace into的时候会删除老记录。如果表中有一个自增的主键。
那么就要出问题了。

首先,因为新纪录与老记录的主键值不同,所以其他表中所有与本表老数据主键id建立的关联全部会被破坏。

其次,就是,频繁的REPLACE INTO 会造成新纪录的主键的值迅速增大。
总有一天。达到最大值后就会因为数据太大溢出了。就没法再插入新纪录了。数据表满了,不是因为空间不够了,而是因为主键的值没法再增加了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql replace函数