问题标签 [on-duplicate-key]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1331 浏览

php - 在重复键更改表上

我正在尝试运行以下 mysql 查询,我没有收到任何错误,但它也不起作用?如果检测到重复,我只希望它更新列名。谢谢 :o)

编辑 >>>>>>> 我试图更新的唯一原因是在编辑表单时脚本不会出错。应该做的是在创建电子邮件模板时,它会在电子邮件历史记录表中添加一列,当用户使用模板发送电子邮件时,该列下会记录一个日期。当编辑电子邮件模板时出现问题,因为创建列脚本尝试在电子邮件历史记录中为模板重新创建列并且我收到错误,理想情况下,编辑模板时只会看到该列已经存在并且没有尝试重新创建它。

0 投票
6 回答
33891 浏览

php - Yii INSERT ... 重复更新

我正在做一个 Yii 项目。在 Yii 模型上执行 save() 时,如何使用 MySQL ( http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html ) 的 ON DUPLICATE 功能?

我的MySQL如下:

我的PHP如下:

如果我的主键 (sapce_id,day) 中有重复项,我不希望它抱怨,我只希望它使用最新数据进行更新。

我知道如何在原始 SQL 中做到这一点,我只是想知道是否有一种干净的 Yii 方式来做到这一点。

0 投票
2 回答
13390 浏览

mysql - ON DUPLICATE KEY UPDATE 的自动增量过多

我有一个带有列的基本表:

  • id(主要与 AI)
  • 名称(唯一)
  • ETC

如果唯一列不存在,则插入该行,否则更新该行...。

问题是,如果它执行 UPDATE,id 列上的 auto_increment 值会上升。因此,如果执行了一大堆 UPDATES,则 id auto_increment 会飙升。

显然这是一个错误:http ://bugs.mysql.com/bug.php?id=28781

...但我在共享主机上的 mySQL 5.5.8 上使用 InnoDB。

其他人在几年前没有解决问题: 防止 MYSQL 重复插入的自动增量和 为什么 MySQL 的自动增量会在插入失败时增加?

关于修复的想法?我是否可能以某种方式错误地构建了数据库?

******编辑****:似乎将 innodb_autoinc_lock_mode = 0 添加到您的 my.ini 文件可以解决问题,但是对于共享主机,我有哪些选择?

******编辑 2******:好的,我认为我唯一的选择是更改为 MyISAM 作为存储引擎。作为一个大型 mySQL 新手,我希望这不会引起很多问题。是的?

0 投票
5 回答
8243 浏览

php - MySQL 中 INSERT INTO ... ON DUPLICATE KEY UPDATE 的正确语法是什么?


我的表结构(MySQL / 每个都与下面相同)

我正在发布一些值以通过 ajax ($post) 添加此表 -
database.php 中的 PHP 5.0 有一个函数可以获取发布的数据并添加到表中

$proper_table 变量被另一个变量用来将该记录添加到正确的表中。
(注意:原始表字段和变量不同(土耳其语),为了更容易理解,我将其翻译成英语,但语法与您看到的相同。)
问题:我想检查是否有记录表明考试字段相同然后所有这些变量将用于更新此记录,否则让函数将此记录作为新记录放入适当的表中。
但我收到如下错误

有没有错误的编码?什么是解决方案?
谢谢现在...

0 投票
5 回答
66882 浏览

mysql - 有没有办法使用 ON DUPLICATE KEY 来更新我想要插入的所有内容?

我知道ON DUPLICATE KEY UPDATE如果已经有该键的记录,您可以使用它来更新某个值,

我可以做这个:

但是我怎样才能做到这一点而不必写出两次列和值呢?

0 投票
2 回答
376 浏览

mysql - ON DUPLICATE KEY UPDATE 拒绝更新

在 MySQL 中使用 ON DUPLICATE KEY UPDATE 时遇到一些问题。下面是我试图运行的查询。

  • 它插入得很好,但是当有重复时它不会更新,也不会抛出任何错误。
  • 通过 PMA 运行查询不会返回错误并且不会更新
  • 删除 ON DUPLICATE KEY UPDATE 部分会返回重复键错误

这是我的表的结构

0 投票
1 回答
871 浏览

android - Android:SQLiteDatabase InsertWithOnConflict API 7

有没有一些简单的方法(比建立自己的查询更容易),如何包括

从 v7 开始在 Android API 中?

据我所知,这从 v8 开始就包含在 API 中。某种兼容性库,会很好。

0 投票
4 回答
175 浏览

mysql - UPON DUPLICATE KEY 增加多列?

我正在运行数据库日志,并且每天我都会登录一个新行。因此,我的 Mysql 查询会检查日期(日期(唯一键))是否已经存在,如果存在,它会尝试将日志行的所有可记录值加一。如果日期记录还没有出现,它将创建一个新行。

我的 SQL 查询是:

所有列的默认值都为 0,因此如果此查询在午夜之后直接运行,则只有 'stale' 和 'hits' 设置为 1。否则 'stale' 和 'hits' 都会递增。

我希望!(它不起作用)。

我错过了什么?除了逗号之外,我应该在'hits' = 'hits' +1'stale'='stale'+1之间使用哪个分隔符?

0 投票
2 回答
948 浏览

mysql - InnoDB 在 IGNORE 上自动递增的任何方法?

使用 InnoDB,无论何时执行 INSERT IGNORE 或 ON DUPLICATE KEY UPDATE,无论是否插入任何内容,它都会自动递增表。

这个问题非常烦人。

有什么简单的方法吗?

0 投票
2 回答
145 浏览

php - 如果列中存在值,则将日期添加到正在插入的 mysql 值

我有一个这样的 MySQL 表,其结构如下:

其中 uri 列是一个索引。我偶尔会在 mysql 表中执行注入,如果我有 1 个或多个同名 URI,则会出现 ERROR Duplicate Entry。所以我使用 PHP 进行插入,并希望date("m-d-y")在插入时将 a 附加到变量 $uri 的末尾。我的 INSERT 语句INSERT INTO table(uri ,title ) values('$uri', '$title')。我想看看是否在插入的表中,在 INSERT 发生之前,我是否可以判断该$uri值是否已经存在于uri表中,如果是,那么该变量将变为$uri = $uri."-"date("m-d-y");我如何判断?我做了一些研究并让我相信我应该使用INSERT...ON DUPLICATE KEY UPDATE