【如何在没有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE?】教程文章相关的互联网学习教程文章

没有ON DUPLICATE KEY的MySQL INSERT / UPDATE

我可能误解了如何使用ON DUPLICATE KEY语法,或者我的数据库结构需要一些工作但是这里有. 我有一个表(bookings-meta)表示与另一个表(预订)相关联的元数据,预订表中的不同行可能有也可能没有在另一个表中与它们相关联的特定元数据. bookings-meta表包含以下列:meta_id(主键),booking_id,键和值. 根据我的理解,使用ON DUPLICATE KEY我需要知道在这种情况下meta_id是什么,通常情况并非如此,我试图使用booking_id简单地将一个键,值对推...

mysql – INSERT INTO值(…)ON DUPLICATE KEY UPDATE具有多个值【代码】

这会有用吗? (我没有可用于测试>的mysql服务器.<)mytable中:myid:整数/主键mydata:文字INSERT INTO mytable VALUES (1,"new row"),(2,"brand new row"),(3,"yup another new row"), [.....more and more coma-separated parentheses with values], (1000,"guess what? yes new row") ON DUPLICATE KEY UPDATE mydata = "dang, this row already exists!";解决方法:是的,它可以工作,但建议首先明确地命名列:INSERT INTO mytabl...

php – MySQL ON DUPLICATE KEY UPDATE语法错误【代码】

嘿伙计们,我想知道是否有人能在我的sql声明中发现任何错误.我希望它在我的表中插入一条新记录,如果还没有.如果它确实存在,那么只需更新它.我在日期字段中的主键. 这是我在php中出现的声明以及我得到的错误:INSERT INTO ExtraStats (date, supportStaff, startEmails, endEmails, emailsAnswered) VALUES ('$startDate', '$supportStaff', '$startEmail', '$endEmail', '$emailAnswered') ON DUPLICATE KEY UPDATE (supportStaff, ...

nodejs mysql批量INSERT在DUPLICATE KEY UPDATE上【代码】

我试图用一个单独的mysql语句插入大约1000行,如果密钥已经存在则更新该行. 我在使用this模块的nodejs中这样做. 我的代码目前看起来像这样:this.conn.query("INSERT INTO summoners VALUES ?" +" ON DUPLICATE KEY UPDATE name = VALUES(name), rank = VALUES(rank), points = VALUES(points), satisfyCriteria = VALUES(satisfyCriteria), priority = VALUES(priority)," +" recentlyChecked = VALUES(recentlyChecked), hotStrea...

sqlalchemy.exc.IntegrityError: (mysql.connector.errors.IntegrityError) 1062 (23000): Duplicate entry【图】

排错: 看到 Duplicate entry 1 for key PRIMARY是主键错误  看一看自己添加的数据id是1再查询一下数据库中的表,发现id=1的记录已经存在了 所以在代码中让id=2,程序即可正常运行

mysql – 为什么ON DUPLICATE KEY无法按预期工作?【代码】

在开始之前,我不是一个网络开发者.我是用谷歌和StackOverflow自学的. 所以我最近将我的网站从共享主机移动到了VPS. 我的提供商将我的网站/文件移到我的新主机上.两者都运行cPanel. 我有一个脚本,在我的旧主机上工作得很好 – INSERT INTO `database`.`table`(`UUID`, `UpdateDate`, `JoinDate`) VALUES ('$uuid',NOW(),NOW()) ON DUPLICATE KEY UPDATE`UpdateDate` = NOW()问题是它在我的新服务器上不再起作用了. 我认为问题是它没...

mysql – 为什么pt-duplicate-key-checker建议删除复合索引?【代码】

以下是来自Percona Tool pt-duplicate-key-checker输出的片段,用于搜索冗余索引:# Key myidx ends with a prefix of the clustered index # Key definitions: # KEY `myidx` (`bar`,`foo`) # PRIMARY KEY (`foo`), # Column types: # `bar` mediumint(8) unsigned not null default '0' # `foo` mediumint(8) unsigned not null auto_increment # To shorten this duplicate clustered index, execute: ALTER...

mysql – INSERT INTO … ON DUPLICATE KEY UPDATE即使行没有改变也会执行?【代码】

让我解释 : 我们假设我们有一个数据库“user”:ID Name Surname =================== 1 John Doe 2 Foo Bar 3 Foo Baz现在我想改变所有这三行.我将抛出以下插入内容:INSERT INTO user (ID, Name, Surname) VALUES (1, 'John', 'Conor') ON DUPLICATE KEY UPDATE ID = 1, Name = 'John', Surname = 'Conor'; INSERT INTO user (ID, Name, Surname) VALUES (2, 'Foo', 'Bar') ON DUPLICATE KEY UPDATE ID = ...

php – MySQL:如何在两个主键必须匹配的DUPLICATE KEY UPDATE上进行操作?【代码】

我需要能够使用mysqli-> multi_query在一个查询调用中运行以下所有内容,这就是为什么这很棘手.我有一个由以下列组成的表: > id>电子邮件> event_promo_code> event_id 当脚本运行时,如果id AND event_id与现有记录(不仅仅是一个键或另一个键)匹配,我需要能够插入新行或UPDATE行. 我现在拥有的是:INSERT INTO `rsvps` SET id='$rsvpID', email='$rsvpEmail', event_promo_code='$rsvpEventCode', event_id='$eventID' ON DUPLIC...

mysql – LOAD DATA INFILE和ON DUPLICATE KEY UPDATE

使用LOAD DATA INFILE时,有没有办法获得常规INSERT语句的ON DUPLICATE KEY UPDATE提供的相同功能? 我想要做的是:对于我的文件的每一行,如果该行不存在,则插入新行,否则更新所选字段. 我的表有5列:A,B,C,D和E.A是主键.有时,我必须插入包含所有值的新行,但有时我只需要更新B和C.但是,重点是我想在同一个文件中重新组合所有INSERT或UPDATE. 谢谢解决方法:如果要插入/更新某些字段,则应将数据加载到附加表中,然后使用INSERT,UPDATE或...

php – INSERT ON DUPLICATE KEY UPDATE语句的复杂mysql查询错误【代码】

对于我正在开发的Web应用程序,我有一个非常复杂的SQL语句.哪个以前工作过.但我无法弄清楚改变了什么.. sql错误:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ON DUPLICATE KEY UPDATE bankaccountid = VALUES(bankaccountid), ownerid = VALUES(‘ at line 1″我的查询是:<?php if($bank_name1 !== '') {$bank1 = "('$bank_id1...

MySQL在触发INSERT ON DUPLICATE KEY UPDATE之前 – 手动似乎错了?【代码】

我正在使用MySQL 5.7:D:\>mysql --version mysql Ver 14.14 Distrib 5.7.17, for Win64 (x86_64)根据manual,BEFORE INSERT触发器的行为应该是:a BEFORE INSERT trigger activates for every row, followed by either anAFTER INSERT trigger or both the BEFORE UPDATE and AFTER UPDATEtriggers, depending on whether there was a duplicate key for the row.我认为这意味着无论是否存在重复的密钥匹配都会执行BEFORE INSERT,...

mysql – ON DUPLICATE KEY UPDATE – 添加到现有值【代码】

我有SQL(MySQL 5.x)查询,如:INSERT INTO table (val1),ON DUPLICATE KEY UPDATE `val1` = VALUES(`val1`)这很好用. 现在我需要用VALUES(val1)ruby变量的总和来更新它.INSERT INTO table (val1),ON DUPLICATE KEY UPDATE `val1` = VALUES(`val1`) + #{ruby_variable}抛出一个错误. (Ruby这里只是一个例子,实际上我需要求和VALUES(val1)整数) 怎么做?解决方法:在fine manual的顶部,你会看到一个你正在尝试做的事情的例子:INSERT I...

mysql – 何时INSERT … ON DUPLICATE失败?【代码】

由于约束错误,我正在对INSERT … ON DUPLICATE KEY语句进行故障排除,但我不可逆转地编辑了有问题的行,我不再收到错误.我很确定我编辑了request_path或target_path.某些区域已存在的某些值:store_id | id_path | is_system6 | category/494 | 1查询是INSERT INTO `core_url_rewrite` (`store_id`,`category_id`,`product_id`,`id_path`,`request_path`,`target_path`,`is_system`) VALUES (6, 494, NULL, 'category/...

为什么mysql INSERT … ON DUPLICATE KEY UPDATE可以破坏主/主配置上的RBR复制【代码】

这是问题所在: > 2台MySQL 5.5服务器>基于行的复制主控>写入两台服务器(均为活动)> autoinc技巧(1个服务器奇数,另一个甚至) 我有一张桌子 byUserDailyStatistics: > id(PK AUTO INC)>约会> idUser> metric1> metric2> UNIQUE(idUser,date) 所有要求都是INSERT INTO byEmailDailyStatistics (date, idUser, metric1, metric2) VALUES (:date, :user:, 1, 1) ON DUPLICATE KEY UPDATE metric1 = metric1 + 1, metric2 = metric2 +1...