草庐IT

incremental-linking

全部标签

mysql - Hibernate 不填充 AUTO_INCREMENT 列作为复合 PK、错误或反功能的一部分?

我发现Hibernate和复合键存在问题,其中一列自动递增。我正在使用MySQL和由两列组成的主键,GID和LANG。GID列设置为AUTO_INCREMENT。插入工作正常,hibernate插入新行,MySQL在GID为空时添加auto_generatedid。但是,Hibernate不会将给定对象中的GID字段设置为持久化。我听说过在hibernate中使用复合主键通常会出现问题,所以我想问一下这是hibernate中的错误,还是开发人员预谋留下的反功能(不会实现,因为没有)? 最佳答案 HibernateAnnotation

mysql - 在 PostgreSQL 或 MySQL 中是否存在反向 "AUTO_INCREMENT"的现存实现?

无需手动执行(如果不存在其他选项,我愿意实现),PostgreSQL或MySQL中是否有一种方法可以有一个自动计数器/字段递减而不是增量?由于当前应用程序中的各种原因,仅通过查看最近添加的记录就可以知道还有多少条目(从数据类型的角度来看)仍然可以添加到表中会很好,而不是从数据类型的最大值中减去最近的ID。那么,这两个系统是否都有“AUTO_DECREMENT”或类似的东西? 最佳答案 您必须在PostgreSQL中进行一些手动配置,但您可以像这样配置一个序列:createsequenceexample_seqincrementby-

php - Laravel 迁移 : auto increment key when it is not primary

我正在尝试使用Laravel迁移创建一个表,但我遇到了一些麻烦。我只需要创建一个包含主要对(“id”和“revision”)的表,“id”是一个自动增量。我可以在MySQL中做到这一点,但我无法通过LaravelMigrations做到这一点,因为increments()还将该字段设置为主要字段。到目前为止我有这个:Schema::create('bibliographies',function(Blueprint$table){$table->increments('id');$table->integer('revision');...$table->timestamps();$t

Mysql在存储过程中临时禁用auto_increment列

在sqlserver中有类似的东西IDENTITY_INSERT设置为OFF,之后我们可以设置为ON我想知道在mysql中有类似的东西,我需要临时启动并设置为ON,比如createprocedure()beginIDENTITY_INSERTissettoOFFSomeinsertstatementSomeinsertstatementIDENTITY_INSERTissettoONend 最佳答案 我无法想象您需要关闭它的任何充分理由。如果您需要使用自定义id插入任何记录,AUTO_INCREMENT不是障碍。http://sql

com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure错误解决

项目上线一段时间后,多个环境经常出现com.mysql.cj.jdbc.exceptions.CommunicationsException:Communicationslinkfailure错误,堆栈信息如下:Thelastpacketsuccessfullyreceivedfromtheserverwas10,003millisecondsago.Thelastpacketsentsuccessfullytotheserverwas10,003millisecondsago.atcom.mysql.cj.jdbc.exceptions.SQLError.createCommunicatio

mysql - Tomcat/Hibernate 与 MySql 的连接失败,出现 "Communications link failure"和 "Permission denied"

我正在尝试使用Hibernate从tomcatwebapp连接到本地主机(我们称之为A)上的MySql(=MariaDB),但一直出现通信链接失败(下面附有完整的异常跟踪)。我在另一台机器上有另一个数据库副本(我们称之为B),并且还使用第三台计算机进行开发(我们称之为C)。1)我从C连接到任何一个数据库(A和B)都没有问题。2)在“A”上,我在本地连接到数据库没有问题(运行“mysql-u”命令)。我在端口3306上对A或B进行远程登录也没有问题。所以我假设两个数据库都已启动并正在运行并且可用于连接。唯一的问题是当我尝试从生产tomcat(在A上运行)连接到A或B数据库时。我收到错误:

MySQL 使用没有 auto_increment 的递增值填充新列

我看到很多几乎相似的问题都有明显的答案,但我很确定这个问题还没有出现在这里。我需要向现有表添加一个自动递增的id列并将其设置为主键。我不能丢失任何现有数据。我可以成功地对表结构进行更改,但我收到有关新列中数据被截断的错误。当我查看数据时,新的自动递增列中的每个值都是null(因此不是唯一的)。如何回填这些值以确保主键的唯一性?***如果有更简单的解决方案,我宁愿避免将现有数据转储到临时表并重新插入。当前脚本:altertablethe_tableaddnew_fieldintfirst;altertablethe_tabledropprimarykey,addprimarykey(ne

mysql - phpmyadmin 不再让我设置 auto_increment 值

我以前可以在phpmyadmin->table->operations中设置auto_increment值,但我现在在这个框中看不到了:http://puu.sh/4dhf4.png它曾经就在下面,是的,我的表有一个auto_increment字段。我正在使用phpmyadmin4.4.0,我已经尝试从InnoDB切换到MyISAM。我以root身份登录到phpmyadmin。 最佳答案 我不确定他们为什么删除此功能,但执行此“老派”的方法是单击SQL选项卡,然后运行以下MySQL命令:ALTERTABLE`sessions`aut

php - 调用未定义的方法 Illuminate\Database\Query\Builder::links()

怎么了?我在使用LaravelPaginator时遇到了一点问题。我使用orderby和paginator构建了函数,但我收到错误消息“调用未定义的方法Illuminate\Database\Query\Builder::links()(View:C:\wamp\www\laravel\app\views\frontend\premios.blade.php)。”=============我的函数==============publicfunctionpremios(){$this->layout->content=View::make('frontend.premios')->wit

php - MySQL 覆盖 auto_increment?

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