【发布时间】:2021-06-10 23:44:56
【问题描述】:
我的 h2 数据库有问题。
我尝试像这样进入数据库的值
INSERT INTO INGREDIENT(id,name,type) values ('FLTO','pszenna','WRAP');
然后我得到了这个错误
数据转换错误转换“'WRAP' (INGREDIENT: ""TYPE"" INTEGER)"; SQL语句:
当我做某事时,我的查询正在工作
INSERT INTO INGREDIENT(id,name,type) values ('FLTO','pszenna','3');
但在 schema.sql 文件中,类型字段是 varchar,所以为什么这不起作用
create table if not exists Ingredient (
id varchar(4) not null,
name varchar(40) not null,
type varchar(10) not null
);
【问题讨论】:
-
H2 认为您的
type列是一个整数,并且它抱怨它无法将'WRAP'转换为整数。第二个示例有效,因为'3'可以转换为3。 -
好吧,我知道这一点,但我创建了一个像 varchar 而不是 int 这样的字段类型,所以这应该可以工作
-
验证
create和insert应用于同一个数据库;追加;IFEXISTS=TRUE,如图here,以避免创建虚假数据库文件。 -
尝试删除并重新创建表。您可能仍然有一个较旧的架构,并且“如果存在则创建表”最终什么都不做。