Hibernate5自动建表坑之索引BUG(Cant DROP xxxxxxxxx check that column/key exists)

解决JPA(Hibernate)自动创建表每次重启都会出现alter table xxx modify column 的问题 阅读详情

今天新写了一个实体类,各种加注解之后,本想应该很顺利就能让Hiernate给我自动生成数据库表,结果出乎我意料的报错,NND!

废话少说,直接上错误代码:

@Column(name = "name", unique = true, columnDefinition = "varchar(20) comment '名称'")
private String name; // 名称

请问大家看出毛病没,很简单的配置,然后我改成如下代码:

@Column(name = "name", columnDefinition = "varchar(20) unique comment '名称'")
private String name; // 名称

问题就解决了!我DB用的是Mysql 5.6.47

有人会说是方言设置出了问题,我的配置就是使用org.hibernate.dialect.MySQL5Dialect,所以不会是这里的问题

最后我只能猜想是bug,并记录下来以确保下次不会再犯

 

Mysql出现问题:ERROR 1091 (42000): Can‘t DROP ‘**‘; check that column/key exists解决方案 阅读详情

相关推荐

解决 Springboot Jpa 自动创建表 和字段乱序问题[凤凰小哥哥]

产生原因:因为使用 jpa 自动创建表的时候,采用的是TreeMap的,我们要变成LinkedHashMap 的结构。 解决方案:在项目下java文件夹下创建包名为: org.hibernate.cfg  ,创建类: PropertyContainer [包名,类名一定要相同哦]

MySQL 1091 can‘t drop check that column/key exists

大致报错内容 MySQL 1091 can’t drop check that columnkey exists 背景描述 在navicat中创建外键时报错(想为myorder表创建外键userId,关联user表的主键userId)   关于navicat创建外键具体步骤,参见此文:navicat 数据表添加外键 可能的原因(任意一个) 1.myorder表没有创建字段userId 2.myorder表刚创建完,虽然有字段userId,但是还没保存myorder表,就立马去设置外键。 解决

向来萧瑟也无畏 1万+

手把手教你用STM32驱动SPL06-001气压传感器(附完整代码与避坑指南)

本文详细介绍了如何使用STM32驱动SPL06-001气压传感器,包括硬件连接、寄存器配置、驱动层实现和数据补偿算法。通过完整的代码示例和避坑指南,帮助开发者快速掌握SPL06传感器的应用技巧,提升嵌入式系统开发效率。

weixin_42552315的博客 292

JPA在ddl-auto=update时,首次执行报错Cant DROP; check that column/key exists

原理:抽象数据库结构移植器(AbstractSchemaMigrator)在处理uniqueKeys(applyUniqueKeys)的时候,使用到三种策略,分别为先删后建静悄悄(DROP_RECREATE_QUIETLY)策略、只建不删静悄悄(RECREATE_QUIETLY)策略和啥都不做(SKIP)策略。首先必须吐槽一下这个静悄悄处理,仅仅是做了一个tryCatch,然后做了忽略,但是没有想到错误的底层自己也有一套print策略,仍然将异常打印了出来(LogFilter中的isStatementLog

a879691172a的博客 2087

关于esp32蓝牙模块的使用——esp32学习笔记

关于esp32蓝牙模块的使用——esp32学习笔记 零、前言 esp32自带蓝牙模块可以让我们进行蓝牙连接并进行数据交换 一、经典蓝牙BT 首先来编写代码,经典蓝牙的使用非常简单,首先声明使用了BluetoothSerial这个库,然后使用SerialBT.begin函数设置蓝牙的名字,再然后就是设置配对码,由于这里没有用到配对码,所以我将注释掉。当配对成功我们就使用printf函数打印出蓝牙配对成功。 #include <Arduino.h> #include <BluetoothSer

qq_53965184的博客 5万+

1.47寸ST7789V3彩屏硬件设计与驱动调试指南

TFT LCD是一种基于薄膜晶体管阵列控制像素明暗的主动式显示技术,其核心依赖于专用驱动IC(如ST7789V3)完成时序生成、GRAM管理与伽马校正。该类小尺寸彩色显示屏广泛应用于嵌入式HMI、IoT终端与可穿戴设备,具备高PPI、低功耗和SPI接口易集成等工程优势。理解RGB565数据格式、SPI Mode 0通信时序及关键寄存器(如0x36方向控制、0x3A像素格式、0x2A/0x2B地址窗口)是实现稳定显示的基础;而正确处理电源设计(严禁5V直供)、复位时序与背光PWM调光,则直接决定系统可靠性与能

weixin_30995917的博客 165

ERROR 1091 (42000): Can't DROP 'id'; check that column/key exists

外键删除失败原因分析:命令:alter table 表名drop foreign key 外键名;报错ERROR 1091 (42000): Can't DROP 'id'; check that column/key exists注:我的外键是id字段但是!!外键名!=字段名那么,删除外键之前要先查出字段所对应的外键名,用如下命令mysql>show create table 表名其中的 CON

weixin_41000825的博客 4万+

电机控制——PMSM无感FOC控制(一)FOC入门

FOC 是一种电机控制技术,全称为 Field Oriented Control(磁场定向控制),也称作矢量控制。该技术可以提高电机的效率、控制稳定性和精度,广泛应用于电机驱动系统中,是目前无刷直流电机(BLDC)、永磁同步电机(PMSM)、感应电机的高效控制的最优方法之一。本节主要讲了FOC的大致流程,带大家先了解FOC到底是个什么东西在做什么,各个模块具体的原理会放到后面的章节详细讲解。FOC其实就是通过控制,相电流按照正弦变化,从而产生出旋转的磁场,控制电机转子转动。

zhuxinmingde的博客 2623

[Err] 1091 - Can't DROP 'car_id'; check that column/key exists

1、错误描述[SQL]ALTER TABLE `t_student` DROP COLUMN `car_id`; [Err] 1091 - Can't DROP 'car_id'; check that column/key exists2、错误原因3、解决办法

游海东的技术专栏 3万+

【乐企-工具篇】生成发票左上角二维码

【代码】【乐企-业务篇】生成发票左上角二维码。

九七的博客 707

TRAE智能体开发:TRAE概述

TRAE(/treɪ/)深度融合 AI 能力,是一名能够理解需求、调用工具并独立完成各类开发任务的“AI 开发工程师”,帮助你高效推进每一个项目。

王国平的博客 1264

解决在Mysql上删除外键时报错Error Code: 1091. Can‘t DROP ‘XXX‘; check that column/key exists

1091. Can‘t DROP ‘XXX‘; check that column/key exists。根治此问题

Leihaifei的博客 7108

21天学会基于 Linux 的 NPU 固件开发--12.3 如何参与 Linux 内核 NPU 子系统开发

从修复一个简单的文档拼写错误开始,或者为现有的开源 NPU 驱动(如 Sophgo, StarFive, Etinix 等厂商已上游化的驱动)添加一个缺失的 IOCTL 支持或优化一个算子,都是伟大的第一步。在 2026 年的 Linux Kernel (v6.12+) 中,NPU 驱动不再是孤立的字符设备,而是深度集成在 DRM 和 DMA-BUF 生态中,实现了与 GPU 类似的资源管理和调度能力。内核驱动必须提供清晰的 UAPI (User API),通常定义在。Step 4: 合并 (Merge)

amy_mhd的博客 66

Hibernate3.4 不自动创建索引的问题

现在很多小团队都弱化了DBA的角色,有些团队甚至没有DBA,这时数据库文档和索引等的维护就是很大的问题了,关于数据库文档我写了一个maven插件可以基于Hibernate注解的po生成数据库文档 而对于索引 我看到Hibernate有这个注解,但是加上之后不会自动生成索引,在网上查了很多资料都说的似是而非,有的说可以 有的说不可以,最后找到Hibernate的jira,发现这是个bug...

roc08的专栏 485

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

解决Jpa中实体数据自动变更问题

最近发现个问题,使用jpa对实体进行操作时,即使未调用保存或更新方法,对于实体的相关设值也会自动更新到数据库中。

qq_43707964的博客 4008

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

spring boot jpa @Column columnDefinition等属性 失效, 解决方案

删除一条属性, 默认false #spring.jpa.properties.hibernate.globally_quoted_identifiers=true 原因: 开启后, 创建sql语句执行时会添加’`’, 会造成columnDefinition 属性失效, author: dreamlu 例如: 1.属性设置为true alter table `xxx` add column `xxx...

lu的博客 6946

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JPA 项目运行中自动建表或修改表结构

笔者的项目涉及到租户的多数据源切换,JPA只会在项目启动时对配置的默认主数据源建表或改表结构,其余数据源并不会执行相关操作,当切换数据源后就会出现表不存在或表结构字段等关系映射问题。

qq_34660546的博客 531

完美解决SpringDataJPA报错create table hibernate_sequence (next_val bigint) type=MyISAM Hibernate: create t

问题描述 用Spring Boot JPA自动生成数据库的表的时候 报了一个错 SpringBoot版本:2.2.6.RELEASE MySQL版本:5.6 2020-04-09 12:52:29.990 INFO 14120 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dia...

"✧treasure mountain✧" 9441

springboot+Hibernate+jpa数据库自动建表报错:IdentityColumnSupportImpl does not support identity key generation

Spring Boot +Hibernate + jpa 通过实体映射生成数据库中的表 遇到几个问题: 1.表不能自动生成到数据库中: 在application.yml 中加入配置 : hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构。 create: 每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来...

alinekang的博客 4906

SQL删除外键约束时报错Can‘t DROP ‘book_id‘; check that column/key exists

Error Code:Can't DROP 'book_id'; check that column/key exists

2401_83592863的博客 811

Spring Data JPA 提示:Can‘t DROP ‘****‘; check that column/key exists/MySQL 提示:1901

问题描述:清空角色权限中间表时,提示如下错误新增:Can't DROP 'FKf8yllw1ecvwqy3ehyxawqa1qp'; check that column/key exists 解决办法: 查询role_permission表,正在使用的外键: show keys from role_permission; 删除role_permission 表中的FKf8yllw1ecvwqy3ehyxawqa1qp 外键 alter table role_permission drop

zhouzhiwengang的专栏 1423

Err 1091 - Can't DROP 'car id' check that column/key exis

Err 1091 - Can't DROP 'car id' check that column/key exis

jrrfgj的博客 2548

解决MySQL删除外键时报错Error Code: 1091. Can‘t DROP ‘XXX‘; check that column/key exists

解决MySQL删除外键时报错Error Code: 1091. Can't DROP 'XXX'; check that column/key exists   长期不写基础的 MySQL 代码,笔者也开始犯一些低级错误。最近,笔者在尝试将表中某列的外键约束删除时,MySQL 却一直报该列本就不存在的错误。 笔者报错时的运行环境: MySQL 8.0.27 Windows 10 教育版 Error Code: 1091. Can't DROP 'XXX'; check that column

暗诺星刻的博客 3万+

【bug】Can‘t DROP ‘NAME‘; check that column/key exists

1,报错信息 Can’t DROP ‘NAME’; check that column/key exists 2,原因 想删除索引的表并没有这个索引存在 3,解决 执行语句的背景:由于我的name字段,里面存在重复数据,所以需要删除曾经设立的唯一索引,改为普通索引 执行语句: ALTER TABLE aaa DROP INDEX NAME, ADD INDEX NAME(NAME) USING BTREE; 方案一:先建立索引,再执行语句(不推荐) 方案二:修改语句,直接建立索引,默认建立的是正

qq_36636312的博客 4719

oracle cannot drop,cannot drop index

drop index时出现如下错误:SQL> drop index oos_index;drop index oos_index*ERROR at line 1:ORA-02429: cannot drop index used for enforcement of unique/primary key我们知道当创建Primary key和unique约束时,如果在该key上不存在索引,则O...

weixin_39668199的博客 660
上一篇: 摄像机跟随插件
下一篇: 新写法之服务端(java netty)基于prtobuf多协议websocket信息处理 (非官方写法)
Artemis丶月
博客等级 码龄18年 2346粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Artemis丶月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值