SQL Spring 引导启动期间为 H2 创建 table 时出错

SQL Error during Spring boot start for creating table for H2

下面是SQL创建一个table:

create table if not exists Product (
id int identity(1, 1),
name varchar(50) not null,
price float (7, 2) not null,
description varchar(100) not null);

在 Spring 引导启动期间执行时出错:

Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "CREATE TABLE IF NOT EXISTS PRODUCT ( ID INT IDENTITY(1, 1), NAME VARCHAR(50) NOT NULL, PRICE FLOAT (7,[*] 2) NOT NULL, DESCRIPTION VARCHAR(100) NOT NULL )"; expected ")";

您的列数据类型定义不正确。 FLOAT 数据类型只有一个参数:所需的最小二进制精度(以位为单位)。此数据类型也是近似精度数据类型,不能用于货币值。

您需要改用 NUMERIC (7, 2) 数据类型。