草庐IT

increment_build_number

全部标签

MySQL:是否有可能 "INSERT if number of rows with a specific value is less than X"?

打个简单的比方,我有一个表格如下:编号(主键)|gift_giver_id(FK)|gift_receiver_id(FK)|礼物日期是否可以在单个查询中以这样的方式更新表,即仅当该人到目前为止的礼物少于10件时(即少于10行带有相同的gift_giver_id)?这样做的目的是将table大小限制为每人10份礼物。提前致谢。 最佳答案 尝试:insertintotablename(gift_giver_id,gift_receiver_id,gift_date)selectGIVER_ID,RECEIVER_ID,DATEfrom

php - 重新索引 MySQL INT 主键并重置 AUTO_INCREMENT

所以我有一个用于PHP站点的MySQL数据库。在数周的开发过程中,我得到了类似的东西:Table:usersid|name-----------12|Bob34|Jen155|John154|Kyle除此之外还有数百条记录并且ID数以千计。我正在寻找一个我可以运行的脚本来将键重命名为它们的最小值(保留它们各自的行),然后将AUTO_INCREMENT重置为下一个id期望的输出是:Table:usersid|name-----------1|Bob2|Jen3|Kyle4|JohnALTERTABLEusersAUTO_INCREMENT=5;(注意Kyle和John)我意识到我必须修复

php - 如何插入auto_increment

如果我有以下数据库CREATETABLE`my_table`(`year`text,`event`text)ENGINE=MyISAMDEFAULTCHARSET=utf8;INSERTINTO`my_table`VALUES('2011','john');INSERTINTO`my_table`VALUES('2011','dave');INSERTINTO`my_table`VALUES('2010','hany');我的问题是如何添加idauto_increment这样就可以了INSERTINTO`my_table`VALUES(1,'2011','john');INSERTIN

mysql - 创建表 : You have an error in your SQL syntax near 'order( order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id ' at line 1 时出错

这个问题在这里已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL(1个回答)关闭8年前。我正在尝试使用PHP脚本在同一个MySQL数据库中创建2个表:主键为“user_id”的表“user”和来自“user”表的主键为“order_id”和外键“user_id”的表“order”(一对多关系)。用户表创建成功,没有问题:$sql="CREATETABLEuser(user_idINTUNSIGNEDNOTNULLAUTO_INCREMENT,typeENUM('member','admin')NOTN

mysql - 如何为 InnoDB 引擎数据库重新播种 "Auto increment"列?

我正在为表使用人工主键。该表有两列,一列是主键,另一列是日期(数据类型:日期)列。当我尝试从文件(仅包含第二列的值)加载批量数据时,日期的YYYY部分被添加到主键列(这是表中的第一列)并且日期的其余部分被截断。所以我需要重置表格。我尝试使用Truncatetable语句进行操作,但由于错误而失败,因为此表在另一个表的外键约束中被引用。所以我必须使用delete*fromtable;语句来完成它。我确实删除了所有记录,但是当我再次插入记录时(这次使用insertinto语句),它从我之前插入的那一年的最后一年的后一年开始递增ID(即它没有刷新它)。注意:-我使用的是MySQL5.5和In

mysql - 如何从 Hibernate 中插入的记录中获取 AUTO_INCREMENT ID?

我正在使用Hibernate3.0和mysql作为数据库,在我项目的一个场景中,我必须插入一条具有默认值的记录。插入成功后,我必须检索插入记录的auto_generatedid,以便我可以将其用于下一次查询?可能有多个记录被插入到同一个表中。那么有什么安全的方法可以检索AUTO_GENERATEDID吗? 最佳答案 也许是这样的?session.persist(myEntity);myEntity.getId(); 关于mysql-如何从Hibernate中插入的记录中获取AUTO_IN

mysql - 从 MySQL 中的非 AUTO_INCREMENT 列获取最后插入的 ID

LAST_INSERT_ID()从具有AUTO_INCREMENT属性的列中返回最后插入的ID。首先,有什么方法可以在没有AUTO_INCREMENT属性的列中获取最后插入的ID。如果是,我如何获取最后插入的ID?任何想法都会很棒。 最佳答案 不总是保证,但您可以使用MAX():SELECTMAX(ID)FROMYourTable这可能无法保证的原因是,如果您同时运行多个事务,这可能会选择不正确的ID...类似地,带LIMIT的ORDERBY:SELECTIDFROMYourTableORDERBYIDDescLimit1

php - 拉维尔 5.4 : Directly Subtract number from column in database

我想从具有int数据类型的数据库中的信用列中减去100个数字。我正在寻找用一些Laravel查询直接减去它的方法。但是现在我首先从表中获取列值,然后减去,然后需要编写更新查询来更新它,如下所示:$subtractCredit=100;//GetTotalCredit$totalCredit=User::select('credit')->where(['username'=>$username])->first();//Subtract100fromTotalCredit$totalCredit=$totalCredit->credit-$subtractCredit;//Update

mysql - 仅在具有一个 auto_increment 列的表中插入

可以在只有一列的表中插入,并且该列是主列和auto_increment。正是我想要的是将id增加1并将其写入表......是否可以不选择最大值并将其增加1而不是插入..我认为直接插入只是增加值 最佳答案 以下语句都会使MySQL中的自增列产生新值:INSERTINTOFoo(id)VALUES(0);INSERTINTOFoo(id)VALUES('');--becausetheintegervalueof''iszeroINSERTINTOFoo(id)VALUES(NULL);INSERTINTOFoo(id)VALUES(DE

mysql - 修改 AUTO_INCREMENT PRIMARY KEY 进行分区

我需要在时态数据之间对MySQL表进行分区(下表中的字段开始)。CREATETABLE`table1`(`id`bigint(20)NOTNULLAUTO_INCREMENT,`fk_id`bigint(20)NOTNULL,`begin`bigint(20)NOTNULL,PRIMARYKEY(`id`),KEY`FK1E57078DB20EC268`(`fk_id`))ENGINE=MyISAMAUTO_INCREMENT=10443288DEFAULTCHARSET=latin1当我尝试这样划分时:altertabletable1partitionbyrange(begin)(P