Bas*_*que 1 uuid h2 primary-key create-table
这个SQL:
\n\nCREATE TABLE product_ ( \n pkey_ UUID PRIMARY KEY\n) ; \nRun Code Online (Sandbox Code Playgroud)\n\n\xe2\x80\xa6成功创建表。
\n\n但我希望新行默认为生成的 UUId,如本 AnswerRANDOM_UUID()所示。
CREATE TABLE product_ ( \n pkey_ UUID PRIMARY KEY DEFAULT RANDOM_UUID() \n) ; \nRun Code Online (Sandbox Code Playgroud)\n\n但这失败并出现错误:
\n\n\n\n\norg.h2.jdbc.JdbcSQLException: SQL 语句中的语法错误“CREATE TABLE PRODUCT_ (\n PKEY_ UUID PRIMARY KEY DEFAULT[*] RANDOM_UUID() \n ) ;”; 预期为“HASH、AUTO_INCRMENT、NOT、NULL、CHECK、REFERENCES、,、)”;SQL语句:
\n
此错误的原因和解决方法是什么?
\n参数出现的顺序很重要。
正如您在Column Definition的文档中看到的,语法图表显示DEFAULT必须出现在PRIMARY KEY. 交换这两个部件即可修复。
CREATE TABLE product_ (
pkey_ UUID DEFAULT RANDOM_UUID() PRIMARY KEY
) ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3567 次 |
| 最近记录: |