草庐IT

update_many

全部标签

mysql - UPDATE 语句是否同时(同时)设置所有值?

非常简单的问题,但我找不到答案。假设我有一个表var,其中包含列foo和bar,它们都是整数并且当前为0.如果我运行:UPDATEvarSETfoo=foo+1,bar=foo+1那么bar的值是多少?1个还是2个?如果我改变顺序,它会改变吗?UPDATEvarSETbar=foo+1,foo=foo+1 最佳答案 如Joe'sSQLFiddlecomment所示,执行列更新的顺序确实很重要。UPDATE的MySQL文档表示这一点,声明每个列更新的表达式将按照声明的顺序进行评估,并且它始终使用列的“当前”值:Ifyouaccessa

InnoDB 上的 MySQL UPDATE 操作偶尔会超时

这些是InnoDB数据库中非常小的表上的简单UPDATE。有时,操作似乎已锁定,但不会超时。然后每个后续UPDATE都以超时结束。现在唯一的办法是让我的ISP重新启动守护程序。表中的每个字段都用于查询,因此所有字段都有索引,包括主字段。我不确定是什么原因导致初始锁定,而且我的ISP没有提供足够的信息来诊断问题。他们也不愿让我访问任何设置。在之前的工作中,我被要求处理类似的信息,但我会做INSERT。我定期运行一个脚本来从表中DELETE旧记录,这样就不需要过滤太多记录。当SELECTing时,我使用了外推技术,因此拥有的不仅仅是最新的数据是有用的。这个设置非常可靠,它永远不会挂起,即使

php - MySQL 错误 : Can't create table (errno: 121 "Duplicate key on write or update")

我使用MySQLWorkbench为数据库生成图表和代码。当我将代码放入phpMyAdmin时,它显示错误(#1005-无法创建表wypozyczalnia。wypozyczenie(errno:121"Duplicatekeyonwriteorupdate"))问题出在哪里?:(外键-表wypozyczenie错误来自这部分代码:CREATETABLEIFNOTEXISTS`wypozyczalnia`.`wypozyczenie`(`id_wyp`INTNOTNULL,`data_wyp`DATENOTNULL,`data_odd`DATENOTNULL,`id_samochod`

php - MySQL 性能 : Many tables or many rows?

我想在我的PHP/MySQL应用程序中记录对页面的访问,以实现类似于SO上的View计数。我的计划是根据每个页面上的唯一IP地址来计算请求数。大约有5000个具有查看次数的不同页面。(我知道计算IP并不准确,但这对我来说没问题。)我看到两个组织数据库表的选项:任一包含字段“page_id”、“request_ip”的大表。假设每个页面平均有50次按唯一IP浏览,我将得到5000x50=250000行。当View显示在页面上时,该表将对每个页面上的每个请求具有读写访问权限。另一种选择是每页有一个表,其中只有一列“request_ip”。然后我将有5000个表,平均存储50行。表格只有在其

mysql - 错误 1452 (23000) : Cannot add or update a child row: a foreign key constraint fails for existing tables

将外键分配给现有表列时出现以下错误:ERROR1452(23000):Cannotaddorupdateachildrow:aforeignkeyconstraintfails(c_x_parsing.#sql-787_1,CONSTRAINT#sql-787_1_ibfk_1FOREIGNKEY(nct_id)REFERENCEScdb(nct_id))下面是我的查询:ALTERTABLEc_intADDFOREIGNKEY(n_id)REFERENCEScdb(n_id);虽然我的父表是cdbcdb,子表是c_int。请给我建议解决方案,因为我已经尝试过以下命令:ALTERTABL

MySQL InnoDB "SELECT FOR UPDATE"- 跳过锁定等效

当我们在MySQL中使用InnoDB表进行“SELECTFORUPDATE”时,有什么方法可以跳过“锁定的行”吗?例如:航站楼t1mysql>starttransaction;QueryOK,0rowsaffected(0.00sec)mysql>selectidfrommytableORDERBYidASClimit5forupdate;+-------+|id|+-------+|1||15||30217||30218||30643|+-------+5rowsinset(0.00sec)mysql>同时,终端t2:mysql>starttransaction;QueryOK,0r

sql - 使用 SELECT 结果集通过 MySQL 存储过程运行 UPDATE 查询

我想了解MySQL存储过程,我想检查用户登录凭据是否有效,如果有效,则更新用户在线状态:--DROPPROCEDUREIFEXISTScheckUser;DELIMITER//CREATEPROCEDUREcheckUser(INin_emailVARCHAR(80),INin_passwordVARCHAR(50))BEGINSELECTid,nameFROMusersWHEREemail=in_emailANDpassword=in_passwordLIMIT1;--Ifresultis1,UPDATEusersSETonline=1WHEREid="result_id";END/

mysql - UPDATE 语句的 where 子句中的子查询

我有ATM卡数据库,其中有字段account_no、card_no、is_blocked、is_activated、issue_date字段帐号和卡号不是唯一的,因为旧卡将过期并标记为is_block=Y而另一条具有相同卡号的记录,帐号将被插入到带有is_blocked=N的新行中。现在我需要在issue_date的帮助下更新is_blocked/is_activated即UPDATEcard_infosetis_blocked='Y'wherecard_no='6396163270002509'ANDopening_date=(SELECTMAX(opening_date)FROMc

mysql - 错误 : HHH000299: Could not complete schema update java. lang.NullPointerException

我在以下环境中有一个Web应用程序。JPA2.0Spring3.2.2MySQL5.6.11hibernate4.2.0CR1ApacheTomcat7.0.35我目前在application-context.xml文件中的配置如下。persistence.xml包含以下xml。org.eclipse.persistence.jpa.PersistenceProvider-->org.hibernate.ejb.HibernatePersistencemodel.Testfalse-->下面是目前唯一的实体类。我已尝试对该实体执行插入操作,但已成功。packagemodel;@Enti

php - Laravel Eloquent : How to select not attached records in many to many relationship?

我在用户和书籍之间建立了多对多关系。如何选择所有不属于特定用户的书籍?简单但丑陋的方法是加载所有书籍,加载所有附属于用户的书籍并比较集合。但必须有一种优雅的方式,我就是想不通。可以使用查询生成器和一些连接来完成,但是如何使用Eloquent来实现呢? 最佳答案 您可以为此使用whereDoesntHave():$userId=1;$books=Book::whereDoesntHave('users',function($q)use($userId){$q->where('user_id',$userId);})->get();此方