Medoo Replace的使用:批量替换数据

replace方法:有三种调用方式

1、一次性批量替换字段的数据:五个参数

replace($table, $column, $search, $replace, $where)

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()

第三个需要传入的参数为字符串:String,即为准备要进行替换的内容

第四个需要传入的参数为字符串:String,即为要被批量替换为的内容

第五个需要传入的参数为数组:array(),即为where条件,可不写


以下以官网示例进行完整说明(部分可能经过修改)

例:

$database->replace("account", "type", "user", "new_user", array(
	"user_id[>]" => 1000
));
以上代码会将account表中user_id大于1000的所有type字段里user替换为new_user,等同于SQL语句:

UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user') WHERE `user_id` > 1000

2、多次批量替换字段的数据:四个参数

replace($table, $column, $replacement, $where)

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()

第三个需要传入的参数为字符串:array(),即为准备要进行替换和要被批量替换为的内容,数组的键为:准备要进行替换的,值为:要被批量替换为的

第四个需要传入的参数为数组:array(),即为where条件,可不写


以下以官网示例进行完整说明(部分可能经过修改)

例:

$database->replace("account", "type", array(
	"user" => "new_user",
	"business" => "new_business"
), array(
	"user_id[>]" => 1000
));
以上代码会针对字段的内容逐步进行多次替换,本例将account表中user_id大于1000的所有type字段里user替换为new_user,然后再将所有type字段里的business替换为new_business,等同于SQL语句:
UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business') WHERE `user_id` > 1000

3、多次批量替换字段的数据:三个参数

replace($table, $column, $where)

这个方法可以说是第二种方法的简写,易读性更强,它将第二种方法中的,字段名、要进行替换和要被批量替换为的内容压缩到一个二维数组中

第一个需要传入的参数为字符串:String,即为要进行操作的数据表名

第二个需要传入的参数为字符串或数组:array(),即为字段名、要进行替换和要被批量替换为的内容,字段名为一维数组的键,一维数组字段名的键所对应的值,是要进行替换和要被批量替换为的内容组成的一个数组,而这个数组中,要进行替换的内容为键,要被批量替换为的内容为值,它们组成一个二维数组

第三个需要传入的参数为数组:array(),即为where条件,可不写


以下以官网示例进行完整说明(部分可能经过修改)

例:

$database->replace("account", array(
	"type" => array(
		"user" => "new_user",
		"business" => "new_business"
	),
	"groups" => array(
		"groupA" => "groupB"
	)
), array(
	"user_id[>]" => 0
));
以上代码会针对字段的内容逐步进行多次替换,是第二种方法的一个简化写法,可提高阅读性,本例将account表中user_id大于0的所有type字段里user替换为new_user,然后将所有type字段里的business替换为new_business,再将所有groups字段里的groupA替换为groupB,等同于SQL语句:
UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business'), groups = REPLACE(`groups`, 'groupA', 'groupB') WHERE `user_id` > 0



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

家铭didphp

你的鼓励是我最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值