草庐IT

incremental-linking

全部标签

mysql - 计算 auto_increment 与其最大值的接近程度的简便方法?

所以昨天我们有一个表,它有一个达到最大值的smallint的auto_incrementPK。我们不得不在紧急情况下更改表格,这绝对不是我们喜欢的方式。是否有一种简单的方法来报告我们使用的每个auto_increment字段与其最大值的接近程度?我能想到的最好方法是执行SHOWCREATETABLE语句,解析出自动递增列的大小,然后将其与表的AUTO_INCREMENT值进行比较。另一方面,鉴于架构不会经常更改,我是否应该存储有关列最大值的信息并使用SHOWTABLESTATUS获取当前的AUTO_INCREMENT? 最佳答案 我

mysql - 使用子查询mysql在同一个表中更改auto_increment

我正在使用mysql。我有一个带有auto_increment计数器集的数据库表。现在由于一项要求,我需要保留100个起始ID,并从101开始移动所有现有记录,因此当前ID1将变为101,ID2将变为102,依此类推。我可以将记录移动到101,但问题是如何将auto_increment计数器更改为max(id)+1。我的主要限制是我需要在单个sql语句中完成。我无法使用@counter保存该值并在以后使用它。我尝试使用下面的查询ALTERTABLEroleAUTO_INCREMENT=(SELECTrd.counterFROM(SELECT(MAX(id)+1)AScounterFRO

mysql auto_increment 5?

我遇到了一个非常非常非常奇怪的mysql问题。我有一个主键“id”。它设置为自动递增。问题是,第一个条目从“3”开始。每个新条目增加5,所以下一个条目的id是8,下一个是13,然后是18,依此类推。这是愚蠢的。为什么它不像应该的那样只增加1?为什么从3点开始???我是否缺少某些设置?如果有帮助,我正在使用phpmyadmin。 最佳答案 有一个my.cnf配置:auto_increment_increment.它用于主-主服务器设置,以防止相同的key被两个不同的服务器定义两次。因此,将其与auto_increment_offset

mysql - 如何创建指向 mysql 的符号链接(symbolic link)? (Mac,XAMPP)

我刚刚安装了XAMPP,然后转到命令行并输入“mysql”,然后出现以下错误:“找不到命令”当我指定mysql所在的位置时“/Applications/XAMPP/xamppfiles/bin/mysql-uroot”它工作正常,所以我想知道如何创建一个链接,这样我就不必每次都键入完整的路径名?谢谢 最佳答案 如果你想只输入mysql,你会想把它放在/usr/bin中ln-s/Applications/XAMPP/xamppfiles/bin/mysql/usr/bin/mysql 关于

php - fatal error : ezSQL_mysql requires mySQL Lib to be compiled and or linked in to the PHP engine

我正在尝试获取缩短PHP脚本的链接YOURLS在运行Lubuntu12.04的基本网络服务器上工作。我创建了一个MySQL数据库并安装了PHP5。当我尝试在浏览器中访问YOURLS的管理界面时,出现以下消息:FatalError:ezSQL_mysqlrequiresmySQLLibtobecompiledandorlinkedintothePHPengine我是MySQL和PHP的新手,所以我不知道如何解决这个问题。你能为我指出正确的方向吗?(有关设置YOURLS的快速指南,您可以查看thisvideo以获得总体思路。) 最佳答案

php - MySQL InnoDB AUTO_INCREMENT 辅助列

我正在制作一个系统,用户可以在其中上传他们想要的任何文件,而不用它来执行任何类型的代码。作为其中的一部分,我重命名了每个文件,并将其原始名称存储在MySQL表中。此表包含上传它的用户的ID,以及上传的唯一ID。目前我是这样做的:CREATETABLE`uploads`(`user_id`INT(11)NOTNULL,`upload_id`INT(11)NOTNULLAUTO_INCREMENT,`original_name`VARCHAR(30)NOTNULL,`mime_type`VARCHAR(30)NOTNULL,`name`VARCHAR(50)NOTNULL,PRIMARYK

mysql - 如何在记录删除后从上次停止的地方创建一个 id auto_increment?

这没什么大不了的,但我想知道是否可以做到。现在,当我插入一条新记录时,自动增量并设置为主键的id字段将其值增加一个:id|first_name|last_name------------------------------1|John|Smith2|Jane|Doe但是,如果我删除记录2,我插入的下一条记录的ID将为3。有什么方法可以让它的ID自动为2(无需手动插入)? 最佳答案 auto_increment计数器(至少,对于InnoDB)保存在表元数据中,并且独立于表中的数据:它是递增的当插入一些数据时,仅此而已。所以,不,不可能

java - 处理 MySQL 查询花费的时间太长并抛出 "Communications link failure"

我使用JDBC连接发出查询:Connectionconn=nullClass.forName("com.mysql.jdbc.Driver")conn=DriverManager.getConnection(dbHost,dbUser,dbPass)s=conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,java.sql.ResultSet.CONCUR_READ_ONLY);s.setFetchSize(Integer.MIN_VALUE);r=s.executeQuery(MY_SELECT_QUERY);while(

mysql - 如何在 InnoDB 中不回收 auto_increment ID

我最近read由于InnoDB在服务器重新启动时重新计算AUTO_INCREMENT值的方式,ID列表高端的任何记录都可能会重用它们的ID。通常,这不是问题,因为删除用户时,与该ID关联的所有内容也会从其他表中删除。但我故意让他们的论坛帖子成为孤儿,标记为“由=User#123=发布”,以便保留过去的对话。显然,如果重复使用ID,这将是一个问题。我以前从未遇到过这个问题,因为总是有足够多的新用户使ID不太可能以这种方式重复使用。然而,在我的新项目中,注册很少见,不活跃的用户删除也很频繁(特别是因为“开放Alpha”帐户仅作为预览持续三天),这种ID重用现在已经发生了三对三。我已经通过在

MySQL : Drop all existing primary keys and insert a new auto increment primary key

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭6年前。Improvethisquestion在MySql数据库表中已经有两个主要(复合)表并且该表有大约50000行。现在我需要删除那些主键并添加一个新的自动递增主键id。我需要我所有的行都应该保持不变,并且将被分配唯一的id。现在执行此操作的查询字符串是什么。我已经试过下面的代码但是有错误#1064-您的SQL语法有误;检查与您的MySQL