mysql - 如何在 Yii2 中制作多个 UPSERT?

标签 mysql yii2

我正在使用 Yii2 高级模板。我必须在 MySql 数据库中插入 1000 到 2000 条记录。

是否可以在 Yii2 中进行多个 UPSERT 查询

请帮助我提出您的建议/答案。谢谢。

最佳答案

从版本 2.0.14 开始,您可以使用 upsert()。

您的代码可能如下所示:

$insertValues = [
    'timestamp' => gmdate('YmdH'),
    'entry_id' => $this->id,
    'view_count' => 1,
];
$updateValues = ['view_count' => new \yii\db\Expression('table_name.view_count + 1')];
Yii::$app->db->createCommand()->upsert('table_name', $insertValues, $updateValues)->execute();

您可以在此处找到完整的文档:https://www.yiiframework.com/doc/api/2.0/yii-db-command#upsert()-detail

关于mysql - 如何在 Yii2 中制作多个 UPSERT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178664/

相关文章:

mysql - 无法从多个表中删除

mysql - 为什么无法从 MySQL 表中删除一行

php - SQL 多重连接 SELECT 查询

yii2 - 来自另一个表 yii2 的复选框并保留选中的值

yii2 - 如何创建和使用环境变量.env yii2

javascript - Yii2在页面头部加载Jquery

yii - 如何正确使用Yii模块?

mysql - 复制 MySQL 用户以创建新用户

java - 无法从 servlet 访问我的数据库

javascript - 如何对齐 yii2 表单域中的文本框?