如何在 Yii2 中进行多次 UPSERT?

2024-02-01

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

是否可以制作多个UPSERT 查询 in Yii2.

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


从版本 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 https://www.yiiframework.com/doc/api/2.0/yii-db-command#upsert()-detail

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Yii2 中进行多次 UPSERT? 的相关文章

  • 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

    我有这个 UPDATE MySQL 语句 效果很好 UPDATE table1 Inner Join table2 ON table2 id table1 gw id SET table1 field1 1 table1 field2 2
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 当我在 yii2 中使用 findbysql 查询时排序和搜索列

    我正在搜索四个表并将它们连接起来并得到我想要的输出 但无法对输出进行排序或过滤 请告诉我如何按地区或销售范围或收集范围搜索它 PartySearch 模型是
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤

随机推荐

  • Chrome 扩展程序可在加载错误时重新加载页面

    Because 不可能使用 Greasemonkey 来实现此目的 https stackoverflow com q 23722801 492130 我想编写一个 Chrome 扩展 如果页面最初加载失败 它将重新加载页面 我知道如何编写
  • 如何从 Blazor 访问 HTML Canvas?

    我正在尝试从 Blazor 对 HTML Canvas 进行 2D 绘图 我尝试使用 Blazor Extensions Canvas 但它似乎相当过时 并且针对之前的 Blazor 服务器端实现 我尝试实现一个简单的示例并得到一个异常 w
  • 通过网络共享 mdb 文件,对于许多计算机,无法编辑应用程序

    该公司正在使用旧的 Delphi 软件 该软件使用 mdb文件作为数据库 我无法改变应用程序的工作方式 我没有它的源代码 我们面临着很多问题 例如 锁问题 当用户添加条目时 它不会更新数据库 只会出现在本地 锁问题暂时解决了 目前的问题是只
  • 增强的 for 循环性能

    我和朋友因为这件事发生了争执 考虑下面的片段 for i 0 i
  • MySQL 中的枚举是否需要为 NOT NULL?

    可以说我有这个 ALTER TABLE asdf ADD field ENUM Y N DEFAULT N 是否需要在末尾添加 NOT NULL 因为它只能是 Y 和 N EDT 根据评论 如果我知道软件总是将其设置为 N 或 Y 并且被硬
  • HttpGet 属性的路由名称 asp.net core 2 中基本通用控制器类的名称

    我有一个通用控制器 它有几个派生的控制器类 但我不知道如何处理 HttpGet路线名称因为它需要常数 HttpGet id Name should not hard coded here for derived class public v
  • iPhone sdk 中提供不同类型的 CATransition 类型

    有谁知道可用 CATransition 的不同类型名称的链接 如同涟漪 迅疾 我想知道所有可用的名称 这些是可用的类型 kCATransitionFade kCATransitionMoveIn kCATransitionPush kCAT
  • 一个 HTML 文件中存在多个不同的页面

    有没有办法让多个不同的 HTML 页面包含在一个 HTML 文件中 例如 假设我有一个有两个页面的网站 Page 1 click here for page 2 and Page 2 click here for page 1 我是否可以创
  • InkCanvas 到位图

    我在将画布保存为 BMP 文件 或任何其他类型 时遇到问题 我试图像这样保存我的 InkCanvas int margin int canvas Margin Left int width int canvas ActualWidth ma
  • Swagger 漂亮的 HTML 代码在哪里?

    只有uglyHTML 页面可下载 HTML HTML2 和动态都丑陋 但该网站 例如 已编辑https app swaggerhub com apis user project version 以及许多其他 提供漂亮的 HTML 界面 如何
  • 使用 C 替换文件中的单词

    如何使用以下命令将文件中的单词替换为另一个单词C 例如 我有一个文件 其中包含 my friend name is sajid 我想替换这个词friend with 祖父 使得该文件更改为 my grandfather name is sa
  • R 中的 Excel YIELD 函数

    我试图弄清楚 Excel 中的 YIELD 函数如何运行其计算 以便我可以在 R 中创建一个使用类似输入的类似函数 以下是有关该函数的 Excel 文档 http office microsoft com en us excel help
  • 如何从 _layout SharePoint 页面使用网站母版页?

    我想在我的 SharePoint 12 hive template layouts TelephoneBookList test aspx 文件中使用母版页文件 如果有意义的话 就是网站的母版页文件 但是 每当我将 MasterPageFi
  • Mysql:每月记录数(包括零)

    我正在尝试计算表中的记录并按日期对它们进行分组 我当前的查询如下所示 SELECT count MONTH time as month YEAR time as year FROM myTable GROUP BY month year O
  • 使用 Swing 和 Graphics2D 在 Java 中旋转轮子?

    我正在研究一个可以绕中心旋转轮子的课程 轮子是使用graphics2d创建的 但我无法确切地弄清楚如何让轮子绕中心旋转 目前 轮子旋转 但不完全围绕原点旋转 我的最终目标是创建一个具有多种颜色的轮子以及围绕它的程序 但我主要关心的是让旋转轮
  • 我用的plyr对吗?我似乎使用了太多内存

    我有以下有点大的数据集 gt dim dset 1 422105 25 gt class dset 1 data frame gt 在不执行任何操作的情况下 R 进程似乎占用了大约 1GB 的 RAM 我正在尝试运行以下代码 dset lt
  • Jenkins job DSL 插件 - 隐藏参数

    我正在使用詹金斯隐藏参数插件 https wiki jenkins ci org display JENKINS Hidden Parameter Plugin但我找不到像使用其他参数那样在 DSL 中编写它的语法 例如 https jen
  • ImportError:使用 Jupyter Notebook 时没有名为 numpy 的模块 - Google Cloud Dataproc

    在 Google Dataproc 上启动 Jupyter Notebook 时 导入模块失败 我尝试使用不同的命令安装模块 一些例子 import os os sytem sudo apt get install python numpy
  • 使用 Python、文件

    我有一些需要读取的数据文件 我知道我应该使用 Dataset 但是有没有一种方法可以下载这些文件 而无需手动下载 而是通过其 URL 来下载 在我的例子中会是什么样子 我正在使用 conda python 和 netCDF4 无论我做什么
  • 如何在 Yii2 中进行多次 UPSERT?

    我正在使用 Yii2 高级模板 我必须在 MySql 数据库中插入 1000 到 2000 条记录 是否可以制作多个UPSERT 查询 in Yii2 请帮助我提供您的建议 答案 谢谢 从版本 2 0 14 开始 您可以使用 upsert