草庐IT

Insert-Update

全部标签

MySQL - 使 "Update"成为表的永久更改?

所以我有两个表-“Horses”和“Results”。“Horses”列出了关于每匹马的一堆信息,包括一个名为“LTE”的位置,它来自“Results”表的“Earnings”字段。“成绩”列出了近期所有马术比赛的成绩。我使用以下代码来计算LTE-UPDATEhorsesSEThorses.LTE=(SELECTSUM(results.earnings)FROMresultsWHEREhorses.hname=results.hname)效果非常好-它更新了LTE专栏。但是......每次我将新数据添加到“结果”表时,我都必须运行这段代码。我将每月添加数据......嗯,几乎永远。我不

php - INSERT INTO WHERE NOT IN or NOT EXIST where table origin 有重复项

我在尝试插入不想重复的记录时遇到问题。这个问题与我在谷歌中找到的任何解决方案都不同,所以这里是:我有TABLE1和TABLE2,我想将记录从TABLE1插入到TABLE2,所以我使用这个查询:INSERTINTOtable1SELECT*FROMtable2WHEREtable2.importIdNOTIN(SELECTimportIdFROMtable1);这仅在TABLE2保证不包含重复的importId时有效。因此,如果TABLE2具有重复的importId,并且我想插入到不包含来自TABLE2的importId的TABLE1中。上面的脚本将持续插入记录,从而在TABLE1中创建

mysql - 简单的 MySQL INSERT 错误

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。毫无疑问,我在这里遗漏了一些非常简单的东西,但我看不到这个查询的问题,它产生了以下错误:SQLquery:INSERTINTOads(ad_id,author,ad_date,category,title,description,condition,price,fullname,telephone,email,status,photo,photothumb

MySQL:防止竞争条件 - FOR UPDATE 或 LOCK IN SHARE MODE?

这是我想要的交易顺序:User1选择字段,执行操作,更新为新值。User2选择字段,执行操作,更新为新值。User3选择字段,执行操作,更新为新值。来selfunderstand第一个select只执行写锁,而第二个select执行读写锁。两者似乎都可用,但在第一种情况下,User2将读取什么值?User1更新前的初始值,还是User1更新后的值(这是我想要的)?所以我很困惑,我应该使用SELECT...FORUPDATE还是SELECT...LOCKINSHAREMODE? 最佳答案 您可能想使用FORUPDATE。使用“锁定共享

没有重复键的 MySQL INSERT/UPDATE

我可能误解了如何使用ONDUPLICATEKEY语法,或者我的数据库结构需要一些工作,但这里是。我有一个表(bookings-meta),它表示与另一个表(bookings)关联的元数据,bookings表中的不同行在另一个表中可能有也可能没有与它们关联的特定元数据。bookings-meta表有以下列,meta_id(主键)、booking_id、key和value。根据我的理解,要使用ONDUPLICATEKEY我需要知道在这种情况下是什么meta_id,通常情况并非如此,我只是尝试使用booking_id将键值对推送到表中,因此如果特定键存在,则将其替换,否则将其插入。目前我有一

php - MySQL - 不同的 UPDATE else INSERT 语句

我正忙于执行UPDATE/INSERT请求,但关键在于:tablePLAYERS{player_idgame_idteam_idpositionnumber}应该发生以下情况:我测试是否有条目在哪里player_id='$player_id'ANDgame_id='$game_id'ANDteam_id='$team_id'。如果存在,则发生以下情况:position='$position'ANDnumber='$number'有什么方法可以仅使用MySQL查询语言来完成此操作,而无需在查询之间进行PHP验证? 最佳答案 INSER

MySQL:是否有可能 "INSERT if number of rows with a specific value is less than X"?

打个简单的比方,我有一个表格如下:编号(主键)|gift_giver_id(FK)|gift_receiver_id(FK)|礼物日期是否可以在单个查询中以这样的方式更新表,即仅当该人到目前为止的礼物少于10件时(即少于10行带有相同的gift_giver_id)?这样做的目的是将table大小限制为每人10份礼物。提前致谢。 最佳答案 尝试:insertintotablename(gift_giver_id,gift_receiver_id,gift_date)selectGIVER_ID,RECEIVER_ID,DATEfrom

mysql - MySQL 中的 INSERT INTO 错误

Notice:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'usageVALUES('16','143','ew','weff','25-3-2010','8.00AM','22-3-2010','10.00AM''atline1in:INSERTINTOusageVALUES('16','143','ew','weff','25-3-2010','8.00AM','22-3-2010','10.00AM','wf

python - 你如何让 SQLAlchemy 覆盖 MySQL "on update CURRENT_TIMESTAMP"

我继承了一个较旧的数据库,该数据库设置有一个“更新时CURRENT_TIMESTAMP”,放在一个应该只描述项目创建的字段上。对于PHP,我一直在UPDATE子句上使用“timestamp=timestamp”,但在SQLAlchemy中,我似乎无法强制系统使用设置的时间戳。我别无选择,需要更新MySQL表(数百万行)吗?foo=session.query(f).get(int(1))ts=foo.timestampsetattr(foo,'timestamp',ts)setattr(foo,'bar',bar)www_model.www_Session.commit()我也试过:fo

c++ - 使用准备语句后 SELECT LAST_INSERT_ID() 返回 0

我正在使用MySQL和准备好的语句插入BLOB记录(jpeg图像)。执行准备好的语句后,我发出SELECTLAST_INSERT_ID()并返回0。在我的代码中,我在执行命令后放置了一个断点,在MySQL命令(监视器)窗口中,我发出SELECTLAST_INSERT_ID()并返回零。在MySQL命令(监视器)窗口中,我发出一条SQL语句来选择所有ID,最后(唯一)插入的ID是1(一个)。我正在使用:服务器版本:5.1.46-communityMySQL社区服务器(GPL)VisualStudio2008,版本9。MySQL连接器C++1.0.5我的表描述:mysql>describe