1
Ich habe eine Spring-Boot-Anwendung und ich versuche, einige Daten beim Start der Anwendung zu initialisieren.H2-Schema-Initialisierung. Syntaxfehler in SQL-Anweisung
Dies ist meine Anwendungseigenschaften:
#Database connection
spring.datasource.url=jdbc:h2:mem:test_db
spring.datasource.username=...
spring.datasource.password=...
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.initialize=true
spring.datasource.schema=schema.sql
spring.datasource.data=schema.sql
#Hibernate configuration
#spring.jpa.hibernate.ddl-auto = none
Dies ist schema.sql:
CREATE TABLE IF NOT EXISTS `Person` (
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
`first_name` VARCHAR(50) NOT NULL,
`age` INTEGER NOT NULL,
PRIMARY KEY(`id`)
);
und data.sql
INSERT INTO `Person` (
`id`,
`first_name`,
`age`
) VALUES (
1,
'John',
20
);
Aber ich habe ‚Syntaxfehler in der SQL-Anweisung 'beim Start der Anwendung:
19:08:45.642 6474 [main] INFO o.h.tool.hbm2ddl.SchemaExport - HHH000476: Executing import script '/import.sql'
19:08:45.643 6475 [main] ERROR o.h.tool.hbm2ddl.SchemaExport - HHH000388: Unsuccessful: CREATE TABLE Person (
19:08:45.643 6475 [main] ERROR o.h.tool.hbm2ddl.SchemaExport - Syntax error in SQL statement "CREATE TABLE PERSON ([*]"; expected "identifier"
Syntax error in SQL statement "CREATE TABLE PERSON ([*]"; expected "identifier"; SQL statement:
Ich kann nicht verstehen, was falsch mit diesem SQL ist.
Vielen Dank! Es klappt – Kirill