mysql里的replace使用有两种情况,一种是replace语句,一种是replace函数,一个是语句一个是函数,一定区别清楚。


replace语句:插入数据

replace into tablename(filed1,filed2...) values(val1,val2...),(val1,val2...)...;



这里replace和insert有什么异同:

replace语句需要有delete和insert权限,因为它具备替换拥有唯一索引或者主键索引重复数据的能力,也就是如果使用replace into插入的数据的唯一索引或者主键索引与之前的数据有重复的情况,将会删除原先的数据,然后再进行添加。


如果replace插入数据的表没有唯一索引或者主键索引,那么它的行为和insert毫无区别。

例子:



replace语句用法注意点:


1:如果replace的表有多个唯一索引,并且replace的数据复制了多个唯一索引的值,那么可能单一行数据代替多个行的旧数据。



2:replace的数据取设置的值,如果没有设置则会取默认的值,replace不能从当前行中引用值,也不能在新行中使用值。



3:由于replace会对唯一索引和主键索引重复的进行删除和重新添加,如果有自增数据,且replace没有设置成要替换的自增列数据,将可能会破坏其他表与该表老数据之间的关联性。



replace函数:替换特定字符

update tablename set filedname=replace(filedname,str,replace_str);




更多相关文章

  1. 用javabean连接sql server 2000数据库报错,实在找不出原因啊,高分
  2. MYSQL数据库的安装
  3. MS ACCESS jdbc.odbc连接。未找到数据源名称/未指定默认驱动程序
  4. [O]SQL SERVER下有序GUID和无序GUID作为主键&聚集索引的性能表现
  5. 急~~!!!sqlconnection连接SQL2005数据库总出错~~~
  6. Python MySQLdb连接数据库的应用
  7. PostgreSQL数据库学习手册之libpq - C 库--介绍
  8. SQL基本操作 - 新增、查看、更新、删除表中数据
  9. Mysql完全手册(笔记二,使用数据与性能优化)

随机推荐

  1. Android不依赖Activity的全局悬浮窗实现
  2. Android 选择器 PickerView实例,时间选择
  3. Android图像开源视图:SmartImageView
  4. android ImageView android:adjustViewBo
  5. 系出名门Android(7) - 控件(View)之ZoomC
  6. Android中Parcelable接口的使用
  7. Android gdb调试
  8. ndk下使用sqlite
  9. Android Handler 消息机制原理解析
  10. android 2.3 r1 中文 api (58) —— TabH