我是java的新手。我有两个问题。我正在使用flyway和h2 db我添加了两个文件sql中的一个用于创建具有两列的表格
CREATE TABLE contacts (
id bigint auto_increment NOT NULL,
name varchar(128) NOT NULL,
PRIMARY KEY(id)
);
另一个是改变那样的新列
ALTER TABLE contacts
ADD COLUMN contacts Varchar(255);
1-我使用flyway.migrate工作正常,但我遇到不匹配所以我使用flyway.repair()是正常的每次使用它?
2-当我写了用于执行insert sql命令的statment sql时
stmt.execute("INSERT INTO contacts(name,contacts) VALUES('ABC','ABC@yahoo.com')");
我得到了
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Column "CONTACTS" not found; SQL statement:
INSERT INTO contacts(name,contacts) VALUES('ABC ','ABC@yahoo.com') [42122-173]
答案 0 :(得分:0)
您需要在第二个sql文件中添加AFTER
。
ALTER TABLE contacts
ADD COLUMN contacts Varchar(255) AFTER name;