草庐IT

query_profile_update_insert

全部标签

mysql - 我们什么时候给 LAST_INSERT_ID() 一个参数?

引自here:mysql>UPDATEsequenceSETid=LAST_INSERT_ID(id+1);mysql>SELECTLAST_INSERT_ID();上面的用例是什么(有什么好处)?我以前从未将LAST_INSERT_ID与任何参数一起使用...更新我的问题是,为什么人们想要以这种方式模拟这种序列,而它可以通过自动递增的主键自动开箱即用? 最佳答案 在不使用AUTO_INCREMENT的情况下生成序列的用例是,当结果ID值用于多个表时,并且它需要在所有表中是唯一的。每个表中的AUTO_INCREMENT通常会导致每个

mysql - Wordpress - 如何输出 query_posts 使用的最后一个查询?

我试图获取特定日期(即今天)的所有帖子,但由于某种原因它只返回了一个。$wp_posts=query_posts(array('cat'=>4,'post_status'=>array('any','publish','future','inherit','revision','pending'),'year'=>'2011','monthnum'=>'10','day'=>'25','order_by'=>'post_date','order'=>'ASC'));这应该将今天的所有帖子都发布在一个类别下,但无论出于何种原因,它只输出1个帖子,我不知道为什么。起初我以为这可能是永久链接

mysql - 如何提高 MyISAM 中 INSERT/UPDATE 查询的性能

我正在使用MySQL数据库,它有两个MyISAM表1.主表(inf_article_details)有10+百万条记录和2.临时(temp_inf_article_details)表有大约50,000多条记录。这些表结构相同,它们只有一列(BIGINT作为数据类型)作为主键。数据定期从不同的数据源提供程序填充到临时表中,我有一个计划的作业将数据从临时表推送到主表中。仅供引用,主表在KEY上被划分为20个分区主表索引信息(inf_articles_details)如下:showindexesfrominf_articles_details;临时表的索引信息(temp_inf_articl

mysql - SQL UPDATE 语句基于另一个现有行更新列

基本上我有一个与下表格式相似的表格。我想做的是根据这个逻辑更新col4如果Col2为空则用Col3更新Col4如果Col2不为空,则在Col1中找到与Col2中的值匹配的值。用col3中的相应值更新col4例如给定这个表:|Col1|Col2|Col3|Col4|-----------------------------|1|2|A1|2|-----------------------------|2|3|A2|3|-----------------------------|3|{null}|A3|{null}|更新为这张表|Col1|Col2|Col3|Col4|----------

MySQL INSERT 与 CALL

我有一个存储过程,它拆分一个字符串并以一个选择结束。我想在存储过程上运行插入,就像在选择上插入一样像这样INSERTINTO....CALLsp_split...我的拆分看起来像这样:DELIMITER$$CREATEDEFINER=`root`@`localhost`PROCEDURE`split_with_id`(idINT,inputvarchar(1000),delimVARCHAR(10))BEGINdeclarefoundPostinyintunsigned;declaretmpTxtvarchar(1000);declaredelimLentinyintunsigned;

mysql - 如果重复插入则更新? w 在 INSERT 上自动增加 P​​K?

给定两个表:`Students`idint,primary,auto-incrementsidintfnamevarcharlnamevarchar`Registration`idint,primary,auto-incrementstudent_sidintcoursenumint有没有办法用他们注册的每个类(class)的类(class)编号填充Students中的新列?因此,每次为给定的sid添加第二个coursenum时,students.id将自动递增,保留主键,同时将包含sid、fname、lname和新coursenum的新行添加到表中。它有点像INSERT...IFDU

php - MySQL "Fire-And-Forget"INSERT/UPDATE/DELETE - mysql_unbuffered_query 用法是否可取?

我们有很多我们认为是“即发即弃”的查询。从某种意义上说,这些只是记录插入、更新等。不那么重要的事情,以及从未在用户看到的前端使用的数据。这听起来像是mysql_unbuffered_query的理想情况。这是否可取?我们正在使用innodb,因此无法使用INSERTDELAYED之类的东西。谢谢! 最佳答案 看完http://www.php.net/manual/en/mysqlinfo.concepts.buffering.php:Followingthesecharacteristicsbufferedqueriesshould

mysql - 如何: Find and update all the entries where the value in one column shows up more than once

我有一个包含以下列的表格:subid-资源的idauthorid-作者的id排序-作者在引用中的顺序对于用户可以提交资源并引用多个作者的应用程序。作者可以在他们的投稿中引用主要和次要作者,而且通常会这样做。有一种情况,用户(称他为用户111)提交的所有条目都将自己列为主要作者,实际作者为次要作者。不幸的是,那个人已经离开了这个项目,所以我来解决这个问题(我必须纯粹用sql来做)。我正在尝试弄清楚如何构建一个查询来执行以下操作:查找所有条目subid值在表中出现多次其中至少一个authorid值是111111的排序大于非111的任何用户的排序并更新它们not(111)作者的排序为“0”并

mysql - 推荐 "to optimize the response time of an SQL query"

我想知道优化包含超过2.000.000条记录的表的SQL查询响应时间的最佳解决方案是什么作为解决方案,我想到了创建一个SQLView的虚拟表(其实我更喜欢mysql在今年创建的行中早早的搜索,因为这个应用的数据是基于季节的。)有没有更好的解决方案或推荐?例如搜索租金12的所有租金行之前=>select*fromrent_lines其中rent_id=12现在=>我创建了一个ViewCREATEVIEWv_rent_linesASSELECTrent_id,category_id,customer_id,amount..Whererent_linesFROMcreated_at>=(se

php - mysqli::query() 在选择查询时返回 true

我正在尝试使用MySQL创建一个队列(我知道,我真丢人!)。我设置它的方式是完成更新以在队列项目上设置接收者ID,更新发生后,我通过接收者ID选择更新的项目。我面临的问题是当我查询更新然后进行选择时,选择查询返回true而不是结果集。当发出快速请求时,这似乎会发生。有人知道为什么会这样吗?提前致谢。架构:CREATETABLE`Queue`(`id`char(11)NOTNULLDEFAULT'',`status`varchar(20)NOTNULLDEFAULT'',`createdAt`datetimeDEFAULTNULL,`receiverId`char(11)DEFAULTN