当前位置: 首页 > 知识库问答 >
问题:

在Spring启动期间为H2创建表时发生SQL错误

钮边浩
2023-03-14

以下是创建表的SQL语句:

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 boot start期间执行时,会出现错误:

原因:org。h2。jdbc。JdbcSQLSyntaxErrorException:SQL语句“如果不存在产品(ID INT IDENTITY(1,1),NAME VARCHAR(50)不为空,PRICE FLOAT(7,[*]2)不为空,DESCRIPTION VARCHAR(100)不为空)”中的语法错误;预期“)”;

共有1个答案

朱阳晖
2023-03-14

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

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

 类似资料:
  • 使用此代码在Mariadb中创建表时 我得到了这个错误。 #1064年的今天,您的SQL语法出现错误;查看与您的MariaDB服务器版本对应的手册,以了解第2行“Grade TINYINT UNSIGNED,Subject VARCHAR(20),yearteached YEAR)”附近使用的正确语法 我不知道语法有什么问题。谢谢你。

  • 我不知道该怎么办!感谢任何帮助! 另外,我是否应该在安装HBase之前配置Zookeeper?我的教程没有这么说。

  • 问题内容: 我正在尝试在Eclipse 3.4.2上运行JUnit4测试用例,但它甚至还没有开始。我的构建路径和测试应用程序中都有junit-4.7.jar。 这是一个简单的例子,说明了我的问题 这样编译很好 然后,我从Eclipse中执行“运行JUnit测试用例”,并且出现带有此消息的错误对话框 是什么原因导致这些NullPointerException?我究竟做错了什么? 问题答案: 我能够通

  • 得到错误"表客户已经存在"当我试图创建一个表在H2内存数据库使用schema.sql.我使用的是Spring启动版本:2.5.4和以下是我的pom.xml.它的工作正常,如果我使用Spring启动版本:2.4.3 这是我的代码: 当我启动应用程序时,我收到以下错误。如何强制H2使用schema.sql创建表格? 原因:io。r2dbc。spi。R2dbcBadGrammarException:表“

  • 我试图将H2连接到我的MVC Spring boot应用程序,H2和应用程序之间的连接正在工作,但H2控制台中没有创建表。 我试图在主类上方添加ScanEntity(“包名”),但什么都没有发生。 我的pom。xml: H2控制台中没有表:

  • 我从Spring Boot进行了升级 它创建序列,但不创建任何表。查看跟踪,它显示了创建表中的语法错误 SQL:SQL 语句中的语法错误(一个示例): 事实上,检查qith H2控制台或SQl linter它将“IDENTITY[*]”标记为错误,否则它将在H2中工作。 第二次尝试也是失败的。我把 并将Spring文档 https://docs.spring.io/spring-batch/doc