草庐IT

refit_keys

全部标签

php - 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

我的表结构表:标记我的目标:我想用条件插入或更新多条记录我目前正在通过这个查询检查第一步SELECT*FROM`marks`WHERE`student`=115AND`param`=1第二步ifrecordsfoundbymatchingabovecriteriaijustupdaterecordbymynewvalueselseinsertnewrecordintomytable它会正常工作。但我想减少代码并将其优化为单个查询。它可能与否?我在MySQL文档INSERT...ONDUPLICATEKEYUPDATE上找到了这个。如果这是一个解决方案。如何通过查询实现?注意:我使用的是

mysql - (1062, "Duplicate entry ' 0' for key ' 主'")

我收到此错误(1062,“键‘PRIMARY’的重复条目‘0’”)。这发生在我将我的Django应用程序从sqlite3迁移到MySQL之后。这是相关的表格:mysql>describemeddy1_specialization;+-------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------+-------------+------+-----+---------+----------------+|id|int(11)|NO|PRI|N

mysql - 当重复项是不同的唯一列时,如何防止 MySQL 在使用 ON DUPLICATE KEY UPDATE 时自动递增主键?

考虑下表:+-------------+------------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------------+------------------+------+-----+---------+----------------+|vendor_id|int(10)unsigned|NO|PRI|NULL|auto_increment||vendor_name|varchar(100)|NO|UNI|NULL|||count|int(10)u

MySQL alter table enable keys 没有 promise 的那么快

所以我有一个包含超过20亿条记录和5个多列键的大表。我可以使用两种方法来插入数据:方法一loaddatainfile...;方法二altertabledisablekeys;loaddatainfile...;altertableenablekeys;如果我从一个空表开始,对于20亿条记录,方法1大约需要60小时(估计,可能更多),而方法2需要12小时插入数据,3小时重新创建键。到目前为止一切顺利。但是,如果我已经有20亿条记录,并尝试再插入500万条记录,则方法1需要大约3个小时,而方法2需要30分钟插入数据,以及高达7个小时的重新创建key。我确认在整个key重新生成过程中,它使用

mysql - sails .js : Waterline foreign key association missing in MySQL

我在sails.js中使用水线ORM。我有一个用户模型和另一个与用户模型关联的硬币模型。//coins.jsattributes:{name:'string',//AssociationsuserId:{model:'user'}}为此模型生成的查询是CREATETABLE`coins`(`name`VARCHAR(255),`userId`INT,`id`INTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY,`createdAt`DATETIME,`updatedAt`DATETIME)查询应该包含userId的外键约束,但没有。有解决办法吗?

php - 交易期间 key '...' 的重复条目 'PRIMARY'

这件事情是昨晚发生在我身上的。我非常熟悉错误的性质,但我仍然无法弄清楚是什么原因造成的。我可能有预感,但我不确定。我将从一些基本的应用信息开始:​​我的应用有3个实体:Loan、SystemPage和TextPage。每当有人添加贷款时,一个或多个系统页面就会被添加到数据库中。基本上,它是这样的:if($form->isValid()){$this->em->getConnection()->beginTransation();$this->em->persist($loan);$this->em->flush();while($someCondition){$page=newSyst

mysql - 获取 INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 的 "Records"和 "Duplicates"计数

INSERT...SELECT...ONDUPLICATEKEYUPDATE返回作为affected-rows从(insertedcount)+(updatedcount)*2派生的数字,这是welldocumented在multipleplaces.但是在MySQLCommand-LineTool的输出中,我注意到了这个额外的信息:>INSERTINTO...->SELECT...FROM...->ONDUPLICATEKEYUPDATE...->;QueryOK,97rowsaffected(0.03sec)Records:2425Duplicates:28Warnings:0即,

java - 无法添加或更新子行 : a foreign key constraint fails

有人知道我的代码有什么问题吗?我正在使用一个简单的INSERT语句(而不是常规的PreparedStatement,因为我正在尝试利用mySQL的AES_ENCRYPT/DECRYPT函数。我不知道如何将它们与PreparedStatements的常规设置一起使用。所有时髦的问号。我不断得到经典:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Cannotaddorupdateachildrow:aforeignkeyconstraintfails(video_game_db.logi

mysql - 使用随机 PRIMARY KEY 列的值缓慢插入 InnoDB 表

对于我的网站,我使用Flickr的PHPAPI(http://www.flickr.com/services/api/)。此API提供了几种有用的方法来获取特定GPS位置周围的照片。对API方法的调用看起来像带有特定参数(如纬度、经度、APIkey、半径、排序等)的URL。比如说,它看起来像http://api.flickr.com/method?lat=0.0&lon=0.0&radius=10我的网站对API进行了超过200,000次调用,以生成包含来自Flickr的图片的多个页面。这是对API的严格插入,因此我在mySQL数据库中创建了一个结果缓存。带缓存的InnoDB表简化方案

php - MySQL+PHP : getting last_id of multiple/composite primary key

我需要获取具有多列主键的表的最后插入的ID。那些表没有AUTOCOUNT列。我正在使用参数化查询(任意顺序)使用PHP(5.3)和MySQLi模块任意INSERTSQL查询。(任何格式)例如:Table:fooPrimarykey:[group_id,user_id]Query:INSERTINTOfoo(group_id,user_id,name,email)VALUES(?,?,?,?);Parameters:array(34,15,"John","john@example.com")结果:$last_id=$mysqli->insert_id?:getInsertedId();3