草庐IT

UPDATE_INTERVAL

全部标签

MySQL UPDATE、MAX、JOIN 查询

我有两个表:-manu_tableproduct_id,manufacturer1,ford2,ford3,toyotaproduct_tableproduct_id,score1,802,603,40我想将每个制造商得分最高的product_id存储在汇总表中:-summary_tablemanufacturer,max_scoreford,1toyota,3到目前为止我有:-UPDATEsummary_tablestSETmax_score=(SELECTproduct_idFROM(SELECTmanufacturer,product_id,max(score)asmsFROMm

php - SQLSTATE[23000] : Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails - Laravel

我知道这个问题已经被问过了,但我仍然找不到我做错了什么。我正在使用Laravel框架。我有2个表(用户和位置)。当我想创建一个用户时,我收到错误消息:SQLSTATE[23000]:Integrityconstraintviolation:1452Cannotaddorupdateachildrow:aforeignkeyconstraintfails(festival_aid.users,CONSTRAINTfk_users_locations1FOREIGNKEY(location_id)REFERENCESlocations(location_id)ONDELETECASCADE

没有唯一列的 MySQL 'UPDATE ON DUPLICATE KEY'?

人们对执行以下查询的性能最有效的方式有何看法:3列表如果col_1和col_2值的组合已经存在UPDATEcol_3elseINSERT新行我假设我需要某种ifUPDATEONDUPLICATEKEY(我以前从未使用过),但是我没有“KEY”而是一对两个值(列)来制作一个键... 最佳答案 您可以在MySQL的多个列中创建一个PRIMARY或UNIQUE键(称为组合键),这将允许ONDUPLICATEKEY工作得很好。//createacompositeindexCREATEINDEXmy_composite_indexONmy_t

mysql - codeigniter - 数据库 : how to update multiple tables with a single update query

我看到了this在codeigniter论坛上考虑下面的代码UPDATEaINNERJOINbUSING(id)SETa.firstname='Pekka',a.lastname='Kuronen',b.companyname='SuomiOy',b.companyaddress='Mannerheimtie123,HelsinkiSuomi'WHEREa.id=1;这显然是您在Codeigniter中的做法$this->db->set('a.firstname','Pekka');$this->db->set('a.lastname','Kuronen');$this->db->se

MySQL INTERVAL 分钟数

我正在尝试使用此查询获取2小时或更长时间的所有记录:$minutes=60*2SELECTCOUNT(id)ASTOTAL,job_idfromtlb_statsWHERElog_time>=DATE_SUB(CURRENT_DATE,INTERVAL$minutesMINUTE)GROUPBYjob_id它只选择最近的记录并跳过旧的。当我改变log_time它只选择旧的并跳过新的。我做错了什么? 最佳答案 尝试:$minutes=60*2SELECTCOUNT(`id`)AS`TOTAL`,`job_id`FROM`tlb_sta

MySQL UPDATE 查询,其中 id 最高且字段等于变量

我正在尝试构建一个MySQL查询,它将更新我的表中的一行,其中id最高并且名为idSession的字段等于65。它看起来像这样:UPDATE`History`SET`state`=0WHERE`id`=(SELECTMAX(id)FROM`History`WHERE`idSession`=65);我收到错误消息:"ErrorCode:1093.Youcan'tspecifytargettable'History'forupdateinFROMclause".有人知道我的语法有什么问题吗? 最佳答案 确切地说:当您根据完全相同的表中的

mysql - SQL 查询 : list of all IDs that were active during a given time interval, 按开始时间排序

我有一个包含轨道点(x/y坐标)的MySQL表。每行包含轨道ID、时间戳以及该轨道在给定时间点的X和Y位置。我想要的是在给定时间间隔(tmin...tmax)内处于事件状态的所有TrackID的列表,按它们的开始时间排序,即使该开始时间在间隔之外.一个小例子可能会有所帮助:例如:轨道1从t11到t12处于事件状态,这意味着我的表中有许多行ID=1并且时间戳范围从t11到t12。期望的输出是:TrackID|StartTime--------+-----------7|t711|t112|t216|t61我试过这样的:SELECTTrackID,MIN(Timestamp)ASStart

mysql - SELECT ... *FOR UPDATE* 的目的是什么?

我对您为何指定FORUPDATE感到困惑——为什么数据库关心您将如何处理来自SELECT的数据?编辑:抱歉,我问的问题不好。我知道文档说它把事情变成了“锁定读取”——我想知道的是“在哪些情况下,可观察到的行为在指定FORUPDATE和不指定之间会有所不同--也就是说,这个锁具体意味着什么? 最佳答案 http://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html它与在事务中锁定表有关。假设您有以下内容:STARTTRANSACTION;SELECT..FORUPDAT

mysql - Insert ... on duplicate key update nothing 使用MySQL

我的问题是我在一张表上有多个唯一键。Insertignore不是一个选项,因为它会抑制错误。MySQL不支持语句外的任何类型的条件(例如if(cond)theninsertelsedon'tinsert)存储过程不是一个选项(我唯一可以使用if/else语句的地方)在重复键上可能会用新值更新键,但我希望唯一键不会更改,以防唯一约束失败。所以唯一的选择是重复只是不更新​​任何东西。有什么办法可以做到这一点?或者还有其他选择吗? 最佳答案 如果您希望ONDUPLICATEKEYUPDATE实际上不执行任何操作,只需将列值设置为现有值即可

mysql - Laravel 迁移 - 违反完整性约束 : 1452 Cannot add or update a child row: a foreign key constraint fails

我正在尝试为我通过此迁移创建的表inventories运行迁移:Schema::create('inventories',function(Blueprint$table){$table->increments('id');$table->integer('remote_id')->unsigned();$table->integer('local_id')->unsigned();$table->string('local_type');$table->string('url')->nullable()->unique();$table->timestamps();});我正在尝试添