2017-10-02 4 views
-2

Ce sont les scripts pour schema.SQL. Il indique l'erreur quand il arrive à la section alter table des scripts:Comment lire les scripts dans la base de données h2

DROP TABLE IF EXISTS billing_address; 

    CREATE TABLE billing_address (
     id bigint(20) NOT NULL AUTO_INCREMENT, 
     billingAddressCity varchar(255), 
     billingAddressCountry varchar(255), 
     billingAddressName varchar(255), 
     billingAddressState varchar(255), 
     billingAddressStreet1 varchar(255), 
     billingAddressStreet2 varchar(255), 
     billingAddressZipCode varchar(255), 
     order_id bigint (20), 
     PRIMARY KEY (id) 
    ); 



    alter table user_role drop constraint if exists FKa68196081fvovjhkek5m97n3y foreign key (role_id) references role (roleid); 
    alter table user_role add constraint FKa68196081fvovjhkek5m97n3y foreign key (role_id) references role (roleid); 


> Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "ALTER TABLE BILLING_ADDRESS DROP CONSTRAINT IF EXISTS FKN9O6NQ40AQJYEBAOFKOLMGV69 FOREIGN[*] KEY (ORDER_ID) REFERENCES USER_ID "; SQL statement: 
alter table billing_address drop constraint if exists FKn9o6nq40aqjyebaofkolmgv69 foreign key (order_id) references user_id [42000-196] 
+0

Il y a beaucoup de code à parcourir avant d'arriver à la ligne de problème. Vous devriez probablement éditer les parties non pertinentes du script pour en faire un [exemple minimal, complet, vérifiable] (https://stackoverflow.com/help/mcve). Je suppose que c'est pourquoi la question a été rejetée. –

Répondre

0

The syntax for drop constraint ne prévoit pas la définition de la contrainte, juste le nom. Alors essayez de remplacer

alter table billing_address drop constraint if exists FKn9o6nq40aqjyebaofkolmgv69 
    foreign key (order_id) references user_id ; 

avec juste

alter table billing_address drop constraint if exists FKn9o6nq40aqjyebaofkolmgv69 ; 

Et de même pour le reste des instructions de suppression suivantes.