草庐IT

auto-update

全部标签

mysql - 同时进行 SELECT 和 UPDATE - 锁定以防止并发问题

所以我在一个高并发的环境中工作。我想做的是根据某个属性从mysql数据库中选择一行,然后一旦有了该行,我想在该行中设置一个“锁定”标志,这样我就可以在php中做一些工作(这可能需要一些时间)然后在我完成后解锁它。为了防止在使用单独的SELECT和UPDATE命令时出现并发问题,执行此操作的最佳方法是什么? 最佳答案 使用选择更新命令:http://dev.mysql.com/doc/refman/5.1/en/innodb-locking-reads.html 关于mysql-同时进行S

mysql - 在 MySQL 中,I/O 延迟会导致简单的 UPDATE 花费几秒钟吗?

我的MySQL应用程序在运行一些UPDATE、INSERT和DELETE查询时遇到性能下降。在这个问题中,我将只讨论一个特定的UPDATE,因为它足以说明问题:UPDATEprojectsSETring=5WHEREid=1这个UPDATE通常足够快,大约0.2毫秒,但偶尔(足以成为一个问题)需要几秒钟。这是日志的摘录(查看第4行):~(0.000282)UPDATE`projects`SET`ring`=5WHERE`id`=1~(0.000214)UPDATE`projects`SET`ring`=6WHERE`id`=1~(0.000238)UPDATE`projects`SET

MySQL - 如何使用 VARCHAR 作为 AUTO INCREMENT 主键

我使用VARCHAR作为我的主键。我想自动递增它(基数62,小写/大写,数字),但是,下面的代码失败了(原因很明显):CREATETABLEIFNOTEXISTS`campaign`(`account_id`BIGINT(20)NOTNULL,`type`SMALLINT(5)NOTNULL,`id`VARCHAR(16)NOTNULLAUTO_INCREMENTPRIMARYKEY)ENGINE=MyISAMDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;然而,这有效:CREATETABLEIFNOTEXISTS`campaign`(`accou

MySQL UPDATE、MAX、JOIN 查询

我有两个表:-manu_tableproduct_id,manufacturer1,ford2,ford3,toyotaproduct_tableproduct_id,score1,802,603,40我想将每个制造商得分最高的product_id存储在汇总表中:-summary_tablemanufacturer,max_scoreford,1toyota,3到目前为止我有:-UPDATEsummary_tablestSETmax_score=(SELECTproduct_idFROM(SELECTmanufacturer,product_id,max(score)asmsFROMm

使用 auto_increment 生成 PHP 短唯一 ID?

我想生成一个简短的唯一ID,而无需检查冲突。我目前正在做类似的事情,但我目前生成的ID是随机的,并且在循环中检查冲突很烦人,如果记录数量显着增加,成本会变得很高。通常担心冲突不是问题,但我想要生成的唯一ID是一个简短的唯一字符串,包含5-8个字符,字母数字,就像tinyurl一样。编辑:我想从5个字符开始,如果我达到6000万个条目,然后转到6..依此类推。为此,我想我可以使用一个对用户隐藏的auto_increment值,并用MD5或其他方法向他们展示,以从中生成一个唯一的字符串。生成的字符串不应该看起来是线性的,所以简单地将auto_incrementedID转换为base36[0

java - JPA @GeneratedValue(strategy=GenerationType.AUTO) 不适用于 MySQL

我有一个实体,它应该自动从数据库中获取一个id。我使用MySQL,所以我希望注释@GeneratedValue(strategy=GenerationType.AUTO)会在幕后解析为IDENTITY而不是SEQUENCE。但是,当我尝试保留一个新实体时,它没有显示hibernate_sequence未找到。它显然使用序列策略而不是标识。我已将persistence.xml中的方言设置为:org.hibernate.dialect.MySQL5InnoDBDialecthibernate版本4.2.0.CR1我读到的所有资料都说在使用自Action为策略连接到MySQL时应该使用标识。

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

我知道这个问题已经被问过了,但我仍然找不到我做错了什么。我正在使用Laravel框架。我有2个表(用户和位置)。当我想创建一个用户时,我收到错误消息:SQLSTATE[23000]:Integrityconstraintviolation:1452Cannotaddorupdateachildrow:aforeignkeyconstraintfails(festival_aid.users,CONSTRAINTfk_users_locations1FOREIGNKEY(location_id)REFERENCESlocations(location_id)ONDELETECASCADE

没有唯一列的 MySQL 'UPDATE ON DUPLICATE KEY'?

人们对执行以下查询的性能最有效的方式有何看法:3列表如果col_1和col_2值的组合已经存在UPDATEcol_3elseINSERT新行我假设我需要某种ifUPDATEONDUPLICATEKEY(我以前从未使用过),但是我没有“KEY”而是一对两个值(列)来制作一个键... 最佳答案 您可以在MySQL的多个列中创建一个PRIMARY或UNIQUE键(称为组合键),这将允许ONDUPLICATEKEY工作得很好。//createacompositeindexCREATEINDEXmy_composite_indexONmy_t

mysql - codeigniter - 数据库 : how to update multiple tables with a single update query

我看到了this在codeigniter论坛上考虑下面的代码UPDATEaINNERJOINbUSING(id)SETa.firstname='Pekka',a.lastname='Kuronen',b.companyname='SuomiOy',b.companyaddress='Mannerheimtie123,HelsinkiSuomi'WHEREa.id=1;这显然是您在Codeigniter中的做法$this->db->set('a.firstname','Pekka');$this->db->set('a.lastname','Kuronen');$this->db->se

mysql - 重置主键 auto_increment

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Resetprimarykeyinmysql?有什么解决办法吗deletefromt1;然后insertentities强制id重新从id=1开始?insertintot1values(...);