jjzjj

incremental

全部标签

php - MySQL 覆盖 auto_increment?

我正在创建一个消息传递系统(使用PHP)并想为每条消息分配一个ID号(除了每条具有唯一ID号的实际消息之外)...但是,如果有人回复消息,那么我想要能够为该消息提供与被回复的消息相同的ID...当然我可以按时间显示它们并按顺序显示它们。那么,如果我给该字段一个auto_increment类型,它是否可以被覆盖?意思...每条新消息都有自动值,例如1、2、3等,但有人回复数字2,所以它的ID也需要2或者有更好的方法吗? 最佳答案 绝对没有什么能阻止您将任意值分配给AUTO_INCREMENT列。如有必要,桌面计数器将相应调整。但是,您

mysql - 如何重用 auto_increment 值?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Fragmentationofid's(auto_incrementcolumn)inmysql我的数据库中有这一列。假设它的名字是“threadid”。它包含给予每个线程以进行区分的唯一ID。线程标识98个76个5个4个3个2个1假设我删除了ID为5和6的线程。线程标识98个74个3个2个1但是删除后有提交的时候,给那个线程的唯一id是10,不是5,我觉得这样不太整洁。如何在列中获得尽可能小的值?(在本例中为5。)我认为我可以使用MIN()获取列的最小值并保持+1直到我获得未使用的唯一值,但我认为这太复杂了

php - SQL 查询 : Incrementing by two instead of 1

我正在尝试通过将其整数值增加1来更新表中的字段。这是我正在使用的:functionupdateViews($id){$sql="UPDATEtweetsSETtweet_views=tweet_views+1WHEREtweet_key='$id'";$result=mysql_query($sql)ordie("DBError:".mysql_error());return$result;}但是,我发现它每次递增2而不是1?我做错了什么?谢谢更新从答案来看,SQL是正确的。您认为这可能会受到重写引擎的影响吗???我问是因为我100%确定这不会运行两次,或者我不会调用,因为有两个脚本。

mysql - 我可以在具有 AUTO_INCREMENT 属性的列中使用零吗

我使用的是MySQL5.0服务器。我的要求是将一个特殊行添加到具有自动递增主键的现有表中。如果我们能把这一行的id设为0,对以后项目的维护和管理会有很大的帮助(因为这样容易内存,人工观察也容易发现)。现在,我知道MySQL对您使用自己的值作为自动增量列没有问题,而且我的测试表明我可以使用UPDATE查询将行的自动增量主键设置为0。但是,有人担心这会如何影响futureINSERT中列的自动递增功能。我的(有限的)实验没有显示任何异常,而且我在MySQL文档中找不到针对此的任何具体警告。也就是说,除此之外(强调我的):http://dev.mysql.com/doc/refman/5.0

MySQL : incrementing text id in DB

我的应用程序中需要有文本ID。例如,我们有可接受的字符集azAZ09,以及允许的ID范围[aaa]-[cZ9]。首先生成的id是aaa,然后是aab、aac、aad等。如何以事务方式返回ID并增加下限?(前提是有数百个并发请求并且都应该有正确的结果)为了降低负载,我想可以定义20个单独的范围,并从随机范围返回id-这应该会减少争用,但首先不清楚如何进行单一操作。另请注意,范围内的ID数量可能会超过2^32。另一个想法是拥有64位整数的范围,并在软件代码中转换整数->charid,这可以异步完成。有什么想法吗? 最佳答案 基于long

mysql - rails : auto increment column with scope

我有项目和问题。问题号(不是ID)必须是自动递增的,但范围是project_id。任何gem或简单的方法来实现这一点?谢谢!编辑:acts_as_list可以完成这项工作,但是如果删除了一条记录怎么办?下一期将是它的编号。 最佳答案 在您的问题类中:belongs_to:projectbefore_validation(:on=>:create)doself.issue_number=self.project.issues.collect{|issue|issue.issue_number}.max+1end(或附近)——本质上,在

mysql - 在 innodb 中重置 auto_increment

有两个表:maintable(idintprimarykeyauto_increment,namechar);subtable(idintprimarykey,maintable_idint,indexmianid(maintable_id),constraintmainidforeignkey(maintable_id)referencesmaintable(id));在maintable中进行一些添加和删除之后,我想重置maintable的auto_increment,然后我使用“altertablemaintableauto_increment=1”,但我只是得到“queryok

MYSQL auto_increment_增量

我想在单个mysql数据库中自动增加两个不同的表,第一个增加1的倍数,另一个增加5是否可以使用auto_increment功能,因为我似乎只能全局设置auto_increment_increment。如果auto_increment_increment不是一个选项,那么复制它的最佳方法是什么 最佳答案 更新版本:只使用了一个id字段。这很可能不是原子的,所以如果您需要并发,请在事务内部使用:http://sqlfiddle.com/#!2/a4ed8/1CREATETABLEIFNOTEXISTSperson(idINTNOTNUL

mysql - 数据库迁移 : auto-incremented foreign key trouble

我正在尝试将一些数据从旧的MySQL数据库简单地迁移到新的MySQL数据库。我要迁移的数据来自一个论坛,所以有两个表:threads和posts。在我遇到一些棘手的自动递增外键关系之前,我一直做得很好。数据库架构(简化到重要部分):threads(id,title,user_id,created_at,updated_at)posts(id,thread_id,user_id,body,created_at,updated_at)如您所见,thread_id是一个外键,对应帖子所属线程的id。问题就在这里:新数据库中已经有主题和帖子,并且主键是自动递增。不难看出问题出在哪里:两个数据集

mysql - ALTER TABLE tbl AUTO_INCREMENT = 123 作为 codeigniter 事件记录查询?

如何执行ALTERTABLEtblnameAUTO_INCREMENT=123作为codeigniter事件记录查询?在codeigniter中有一个叫做dbforge->modify_column()的东西,我是否必须使用它,如果是的话如何? 最佳答案 试试这个$this->db->query("ALTERTABLEtable_nameAUTO_INCREMENT1");在AUTO_INCREMENT之后更改值,您希望从此处开始自动递增值$this->db->query("ALTERTABLEtable_nameAUTO_INCR