php - 如何在sql查询中直接使用数组来更新多行

标签 php mysql doctrine

我知道可以使用以下查询更新多行

UPDATE MyProject\Model\User u SET u.password = 'new' WHERE u.id IN (1, 2, 3)

我的疑问是,如果我有一个数组 $array = [1,2,3] ,我可以直接在查询中使用这个数组,而无需迭代,这可能吗?

最佳答案

试试这个

$sql = "UPDATE `MyProject` INNER JOIN `Model` INNER JOIN `Model` SET password='new' WHERE id IN(1,2,3)";

如果你有 ids 数组,你可以在 IN 中使用它

$array_of_id = array(1,3,5,8);
$in_text = implode(",", $array_of_id);
$sql = "UPDATE `MyProject` INNER JOIN `Model` INNER JOIN `Model` SET password='new' WHERE id IN($in_text)";

关于php - 如何在sql查询中直接使用数组来更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21950486/

相关文章:

javascript - Laravel 在 ajax 成功后追加数据

mysql - 如何在mysql中将单行插入查询重构为多行插入查询?

mysql - 如何从 MySQL 中选择表名称为变量的位置

php - MySQLi 准备语句返回 false

php - Doctrine 的可嵌入物的继承

php - 使用 Symfony 框架的生产服务器上的用户登录失败(由于...无法处理身份验证请求)

php - 无法将 sp 的结果放入数组中

php - 如何在线 Highcharts 中提供具有 x 轴和 y 轴值的系列数据?

php - uploadify php mysql - 批量上传和批量插入

mysql - 带有选定列的 Symfony 1.4 选择查询不起作用