草庐IT

inserted_id

全部标签

mysql - 设置列值等于插入ID?

背景:我有一个用于received_msgs的数据库表表格有两列id,link_id如果消息是那里的第一个消息(基于标准),那么它的link_id等于它的id。如果是对消息的回复,它的link_id等于它回复的消息的id。问题:有什么方法可以在初始插入时将link_id设置为与id相同?目前我正在执行插入,然后执行另一个查询、更新,并将link_id设置为等于INSERT_ID但我不喜欢使用两个查询。 最佳答案 您可以在AFTERINSERT操作上使用触发器。但我强烈建议您使用NULL作为邻接表树的根。

mysql_insert_id 或类似的东西返回最后一个 mysql UUID()

您如何返回最后生成的UUID()(主键)-有类似mysql_insert_id的东西吗?表uuidtable:primarykey:uuiduuid()id_u(index):integer多个id_u匹配一个主键uuid()插入:插入uuidtable(uuid,id_u)值(uuid(),id)当然,其中id是一个数字,uuid被转义为uuid 最佳答案 像这样给自己写一个触发器:CREATETRIGGERai_uuidtableAFTERINSERTONuuidtableFOREACHROWSET@last_uuid=NEW.

php - mysql_insert_id() 在 PHP 更新后停止工作

我正准备将实时网络服务器从PHP5.2.12更新到5.3.5。在准备过程中,我在第二台服务器上执行了更新,该服务器是实时服务器(“开发”服务器)的镜像。两台服务器都使用FreeBSD,并且都使用端口来安装PHP和MySQL。实时服务器使用MySQL5.0.89,新升级的开发服务器使用5.1.54。以下代码在实时服务器(PHP5.2.12/5.0.89)上按预期执行,返回刚刚插入的AUTO_INCREMENT行的值。此函数是整个站点使用的数据库类的一部分,其中“$this->_private['cn']”是资源链接。publicfunctioninsert($sql=false){@my

MySQL INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 增量

我在使用INSERTSELECTONDUPLICATEKEYUPDATE查询时遇到一些问题。我想执行一些操作,例如为select返回的每一行插入表中的字段增量,其中一些将需要更新同一行。设置:表格来源CREATETABLE`source`(`key`int(11)NOTNULLAUTO_INCREMENT,`data`int(11)DEFAULTNULL,`state`int(11)DEFAULTNULL,`group`int(11)DEFAULTNULL,PRIMARYKEY(`key`));表目标CREATETABLE`dest`(`dkey`int(11)NOTNULL,`dda

php - MySQL分层存储: searching through all parent/grandparent/etc.节点给定子节点id?

我正在使用这样的分层模型存储类别:CATEGORIESid|parent_id|name---------------------1|0|Cars2|0|Planes3|1|Hatchbacks4|1|Convertibles5|2|Jets6|3|Peugeot7|3|BMW8|6|2069|6|306然后我使用这些类别ID之一存储实际数据,如下所示:CARSvehicle_id|category_id|name-------------------------------1|8|ReallyfastsilverPeugeot2062|9|ReallyfastsilverPeugeo

MySql Performance : INSERT. ..ON DUPLICATE KEY UPDATE 或 UPDATE & ROW_COUNT

我查询大部分时间都会更新现有记录。但是,我需要检查此记录是否存在,如果不存在,我应该创建它。通常我会使用INSERT...ONDUPLICATEKEYUPDAT,但由于只需要插入几个查询,我正在考虑执行UPDATE并稍后检查如果返回的ROW_COUNT()为零,并且在这种情况下执行INSERT。什么会给我最好的表现? 最佳答案 MySQL有一个REPLACEINTO语法,这可能就是您正在寻找的。如果这对您不起作用,使用UPDATE并检查ROW_COUNT()应该可行,您可能希望将整个事情包装在存储过程中,这样您就可以节省返回服务器的

mysql - 按 id 对行进行分组,然后将不同的组相互比较

我有一张表,里面有很多seq_id的数据。每个seq_id在不同的行上有很多命中(hit_name_id)。我想做的是将seqs分组,如果它们的命中率相似(即共享约70-80%的命中率),例如下表中的序列1,2和4实际上非常相似,因此它们很可能是一样。我希望能够为所有相似的命中分配一个组ID,以便我以后可以只提取唯一的序列。我创建这个查询是为了证明每个seq_id可以有很多可能共享也可能不共享的命中:mysql>SELECTseq_id,GROUP_CONCAT(hit_name_idORDERBYhit_name_id),count(hit_name_id)FROMpolished_

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

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

java - 当 id/uuid 存储为二进制时,如何使用 MyBatis 在插入后返回 key ?

我们目前在我们的数据库中有触发器,它为我插入的每条记录分发uuid。当我用mybatis插入记录时,我想取回该uuid而不是已插入的行数。从上一篇文章我读到我可以用useGeneratedKeys="true"keyProperty="id"但是我们将uuid存储为二进制文件,所以我想从插入中取回非二进制uuid。当我们插入东西时,我们使用像“uuid2bin”和“bin2uuid”这样的函数,所以我希望使用这样的函数从数据库(MySQL)中检索新生成的uuid。关于如何取回新生成的uuid有什么建议吗?? 最佳答案 我能想到的两个

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