草庐IT

auto-commit-interval

全部标签

mysql - 为每个数据库或每个表设置 mysql auto_increment_offset 和 auto_increment_increment?

是否可以为每个数据库或每个表设置mysqlauto_increment_offset和auto_increment_increment? 最佳答案 它的数据库不是每个表。如果设置了auto_increment_offset变量的全局值,它会一直存在,直到全局值被更改或通过设置session值覆盖,或者直到mysqld重新启动。如果设置了本地值,则新值将影响所有表的AUTO_INCREMENT列,当前用户在session期间将新行插入到这些表中,除非在该session期间更改了值。来自这里:http://dev.mysql.com/d

php - PDO::beginTransaction() 是否导致表或行锁定直到 PDO::commit()?

我有一个PHP脚本,它使用准备好的语句在每个循环中执行大约1,000次插入和1,000次更新。只要需要完成工作,它就会一直循环,有时会持续数小时,并且会导致性能问题(包括死锁异常)。我正在尝试提高性能并正在研究批量插入和更新(尽管我仍在尝试弄清楚如何进行批量更新)。当PDO::beginTransaction()被调用时,它是否只是告诉PDO类不要将使用PDO::execute()执行的查询发送到数据库,还是发送查询然后锁定使用的表/行直到调用PDO::commit()?我问的原因是PHP脚本每次循环最多需要50秒,它会在该时间跨度内进行插入和更新查询,所以我想弄清楚是否可以简单地添加

java - 使用 spring jdbc 时,MySQL auto_increment 10 而不是 1

我一直在遵循本指南进行个人项目,但我遇到了这个奇怪的问题:http://www.tutorialspoint.com/spring/spring_jdbc_example.htm当使用springjdbc库插入值时,id的值从1跳到11再到21...等等。虽然,当使用简单的插入手动查询数据库时,id正在按预期工作,即:1,2,3,等等...这是信息:Springjdbc4.2.3Spring上下文4.3.3mysql-连接器-java5.1.37数据库:MySQL社区服务器(GPL)5.5.45-log托管在Azure上,并添加了ClearDB。创建表:CREATETABLErunne

php - MySQL 和 INT auto_increment 字段

自从我记得自己以来,我正在使用LAMP(Linux+Apache+MySQL+PHP)进行开发。但有一个问题困扰了我多年。我希望你能帮助我找到答案并指出正确的方向。这是我的挑战:比方说,我们正在创建一个社区网站,我们允许我们的用户在该网站上注册。我们存储所有用户的MySQL表将如下所示:CREATETABLE`users`(`uid`int(2)unsignedNOTNULLauto_incrementCOMMENT'UserID',`name`varchar(20)NOTNULL,`password`varchar(32)NOTNULLCOMMENT'Passwordissaveda

mysql - 将 MySQL 字段编辑为 AUTO_INCREMENT 时出错

我正在尝试通过PHP将MySQL中的字段编辑为NOTNULL和AUTO_INCREMENT。我尝试了以下路线来执行此操作,但我不断收到错误消息。知道为什么吗?$con=mysql_connect("host","user","pass");if(!$con){die('Couldnotconnect:'.mysql_error());}mysql_select_db("database_name",$con);$int="ALTERTABLE`table_name`CHANGE`column_name``column_name`INT(11)NOTNULLAUTO_INCREMENT"

mysql - DATE_ADD 和 INTERVAL 函数中的语法错误

鉴于此功能:DROPFUNCTIONIFEXISTSexpiration_date;DELIMITER$$CREATEFUNCTIONexpiration_date(lic_classVARCHAR(2),born_onDATE,atDATE)RETURNSDATEBEGINDECLAREageINTEGER;DECLAREspanINTEGERDEFAULT0;SETage=YEAR(at)-YEAR(born_on);IFage=50ANDage=70ANDage=80THENSETspan=2;ENDIF;DECLAREretDATE;SETret=DATE_ADD(at,INT

php - Phalcon 迁移系统中的 auto_increment

出于某种原因,迁移系统在使用auto_increment主键时表现不佳。我在监督什么吗?(我使用的是phalcon2.0.1)我有以下自动生成的迁移:classLanguagesMigration_100extendsMigration{publicfunctionup(){$this->morphTable('languages',array('columns'=>array(newColumn('id',array('type'=>Column::TYPE_INTEGER,'notNull'=>true,'autoIncrement'=>true,'size'=>11,'first

mysql - SELECT date BETWEEN dates with interval 日期

我的数据库中有一个日期列。我使用SELECTCOUNT来计算今天和15天前之间的行数:SELECTcount(date)asdateFROM`inv`WHEREuser_id='2'ANDdateBETWEENCURDATE()-INTERVAL15DAYANDCURDATE()此SQL语句有效。但现在我想使用SELECTCOUNT来计算今天(-15天)和30天前之间的行。但是当我尝试以下语句时出现错误:SELECTcount(date)asdateFROM`inv`WHEREuser_id='2'ANDdateBETWEENdate(CURDATE(),INTERVAL-15day)

MySql upsert 和 auto-increment 导致 gaps

我有一个带有自动递增主键的MySql表,似乎所有各种更新插入方法(INSERTIGNORE和ONDUPLICATEKEYUPDATE)都受到自动递增字段的影响增量,即使更新了一行但未插入。这意味着在表格中引入了间隙,我认为这是不可取的。所以问题是:如果更新插入实际上只是更新行,是否有任何方法可以在具有自动递增字段的表中更新插入记录而不自动递增该字段。在我看来,这是upsert应该的行为方式,但它似乎并非如此。 最佳答案 这个“问题”只存在于InnoDB中。这是设计使然,旨在提高并发性:另一个线程可以使用AUTO_INCREMENT,

mysqldump + auto_increment 导致主键错误

我正在使用mysqldump(a)转储一个表,然后(b)将它插入到别处。当我尝试执行(b)部分时出现问题。这是我得到的错误。键“PRIMARY”的重复条目“1”现在,坚持,坚持。我知道我没有插入重复的主键....我检查了CREATETABLE语句。id字段上的auto_incremement保留为id列的最大值:AUTO_INCREMENT=45634650。我认为问题在于,如果您尝试插入id值小于auto_increment指定值的任何行,MySQL将给出此错误....无论该id是否重复。我尝试从TABLECREATE语句中手动删除AUTO_INCREMENT。仍然是同样的错误。更新