mysql 保留字

保留字

SQL保留字是在SQL語言中具有特殊意義的字詞。這些字詞包括SELECTINSERTUPDATEDELETEFROMWHERE等等。在撰寫SQL查詢時,不能將這些保留字用作表名或列名。

方言

USERPERMISSION是許多SQL方言中的保留字。如果你嘗試使用Hibernate來創建名為USER或PERMISSION的表,可能會遇到問題,因為Hibernate會生成使用這些保留字的SQL查詢,這可能會導致語法錯誤。
前陣子在寫spring security 創建範例資料庫時直接使用了user,導致會不斷出現

can not find table security.user

解法

避開

一般只要避開即可 ,如用 userspermissions

@Table

一定要用的話(建議是不要堅持拉),可以使用@table

1
2
3
4
5
@Entity
@Table(name = "`user`")
public class User {
// ...
}

希望以後不要再卡這種坑了..


mysql 保留字
https://shengshengyang.github.io/2024/03/11/sql-keep-words/
作者
Dean Yang
發布於
2024年3月11日
許可協議