mysql replace函数
2016-07-19 00:00
316 查看
摘要: mysql replace函数
relpace
更新 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 会造成新纪录的主键的值迅速增大。
总有一天。达到最大值后就会因为数据太大溢出了。就没法再插入新纪录了。数据表满了,不是因为空间不够了,而是因为主键的值没法再增加了。
relpace
1 | UPDATE tb1 SET f1= REPLACE (f1, 'abc' , 'def' ); |
2 | REPLACE (str,from_str,to_str) |
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中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复