2017-10-02 7 views
-2

これはschema.SQLのスクリプトです。それは、スクリプトのALTER TABLEのセクションを取得した時点で、エラーを示しています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

問題の行に入る前にスクロールするコードがたくさんあります。おそらく、スクリプトの無関係な部分を編集して[最小限で完全で検証可能な例](https://stackoverflow.com/help/mcve)にする必要があります。私はそれがなぜ質問が下落したのかを推測しています。 –

答えて

0

The syntax for drop constraintは、制約定義、名前だけを期待していません。だから、次のドロップステートメントの残りの部分だけ

alter table billing_address drop constraint if exists FKn9o6nq40aqjyebaofkolmgv69 ; 

、同様に

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

を交換してみてください。

関連する問題