草庐IT

last_updated

全部标签

php - 使用 PHP mysqli 获取 UPDATE 查询匹配的行数

较旧的mysql扩展具有CLIENT_FOUND_ROWS连接标志,但我找不到任何与mysqli等效的东西。我有一个update查询,想知道它的where子句matched有多少行,而不是实际更改了多少行(如所示通过mysqli->affected_rows)。到目前为止我想到的唯一方法是解析mysqli->info(看起来像Rowsmatched:40Changed:40Warnings:0)用正则表达式。但这似乎很老套。 最佳答案 我使用了以下代码://Parsethedigitsfromtheinfostringthathas

php - Doctrine 合并 : DateTime field always updated

我用现有的Id创建了一个新实体,我想更新相关的数据库记录。Doctrinemerge一直是我最好的friend:识别是否有变化并生成正确的更新查询。$entity=newEntity();$entity->setId(1);$entity->setName('test');$EntityManager->merge($entity);$EntityManager->flush();假设id=1的元素已经存在于数据库中:如果名称与'test'不同,Doctrine生成此查询:UPDATEtableSETname=?WHEREid=?["test","1"]如果我再次运行上面的代码,Doc

MySQL InnoDB SELECT...LIMIT 1 FOR UPDATE 与 UPDATE ...LIMIT 1

我在带有InnoDB引擎的MySQL中有一个表v_ext:-id:主键-代码:预生成的代码列表(比如随机生成1000个代码)-user_id:最初为NULL当用户购买商品时,他们会收到一个代码。我需要更新表以填充user_id列。我有两个选择:STARTTRANSACTION;SELECTidFROMv_extWHEREuser_idISNULLLIMIT1FORUPDATE;--returnid54forex.UPDATEv_extSETuser_id=xxxWHEREid=54;COMMIT;或UPDATEv_extSETuser_id=xxxWHEREuser_idISNULLL

MYSQL last_insert_id() 与并发

我有一个简单的MYSQL问题。如果我在一个网页上运行INSERTQUERY之后立即进行包含LAST_INSERT_ID()的查询,该网页有许多并发用户访问执行INSERT的其他页面strong>操作是否会导致LAST_INSERT_ID()的值被掺假/损坏? 最佳答案 不,它将返回当前连接的插入ID。只要您的脚本没有插入任何其他内容,您就会得到想要的内容。另请注意,这只会返回生成的ID(例如,自动递增)。如果您正在创建自己的ID,则不会将其返回给您。 关于MYSQLlast_insert

mysql - 为什么 MySQL 不让我删除属性 "on update CURRENT_TIMESTAMP"?

我有一个包含两个时间戳字段的表。我只是用名称和类型TIMESTAMP定义了它们,但由于某种原因,MySQL自动将其中一个设置为默认值和属性onupdateCURRENT_TIMESTAMP。我计划在这两个字段中都没有默认值,但是其中一个字段称为“date_updated”,所以我想我可以将提到的属性设置为该字段。不幸的是,它是使用onupdateCURRENT_TIMESTAMP属性设置的字段“date_created”,无论我做什么,MySQL都不会让我删除它。我已尝试编辑“date_created”字段并删除该属性。单击保存时,该属性又回来了。我还尝试选择这两个字段,从其中一个字段

java - SQL异常 : executeQuery method can not be used for update

我正在尝试使用javaservlet类将从注册表单中获取的用户信息插入到DerbyDB中。在用户单击填写了用户信息的提交按钮后,我立即连接到NetBeans上的数据库。然后它应该运行这个方法:publicvoidinsertNewUser(StringuserName,StringpassWord,StringlastName,StringfirstName,Stringage,charsex,Stringemail){try{stmt=conn.createStatement();StringinsertNewUserSQL="INSERTINTO"+studentsTable+"V

mysql - 在插入之前清除 LAST_INSERT_ID() 以判断返回的内容是否来 self 的插入

LAST_INSERT_ID()返回由自动递增列为当前连接生成的最新ID,但我如何判断该值是来自最后一次插入,而不是来自上一次插入相同的连接?假设我正在使用来自池的连接,它可能在我获得连接之前插入了一行,并且我执行了一个条件插入:insertintomytable(colA)select'foo'frombarwhere;selectLAST_INSERT_ID();我无法知道返回的值是否来self的插入。我想到的一种方法是:@previousId:=LAST_INSERT_ID();insertintomytable(colA)select'foo'frombarwhere;sele

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

我正在尝试将值插入到我的评论表中,但出现错误。它说我不能添加或更新子行,我不知道那是什么意思。我的架构看起来像这样:----Bazadanych:`koxu1996_test`----------------------------------------------------------------Strukturatabelidlatabeli`user`--CREATETABLEIFNOTEXISTS`user`(`id`int(8)NOTNULLAUTO_INCREMENT,`username`varchar(32)COLLATEutf8_binNOTNULL,`passwo

mysql - 如何使用 sqlalchemy 在 mysql 中设置 DEFAULT ON UPDATE CURRENT_TIMESTAMP?

我正在用sqlalchemy创建表。user=Table('users',Metadata,Column('datecreated',TIMESTAMP,server_default=text('CURRENT_TIMESTAMP')),Column('datemodified',TIMESTAMP,server_onupdate=text('CURRENT_TIMESTAMP')),)但这不会设置DEFAULTONUPDATECURRENT_TIMESTAMP。我checkoutHowdoyougetSQLAlchemytooverrideMySQL"onupdateCURRENT_

mysql - 插入多行时如何使用 "ON DUPLICATE KEY UPDATE"增加 MySql 中的字段?

插入多行时如何使用“ONDUPLICATEKEYUPDATE”增加MySql中的字段?一行:INSERTINTOtable(a,counter_elem)VALUES(1,1)ONDUPLICATEKEYUPDATEcounter_elem=counter_elem+1;对于多行:INSERTINTOtable(a,counter_elem)VALUES(1,1),(2,1)ONDUPLICATEKEYUPDATEcounter_elem=?;这不起作用:counter_elem=VALUES(counter_elem)+1 最佳答案