2017-10-07 11 views
0

は、Customerテーブル あるMySQLエラー#1452

CustomerID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY 
Name CHAR(50) NOT NULL 
Address CHAR (100) Not NULL 
CITY CHAR (30) Not NULL 

---付きそれから私は別の表は、と----

OrdersID INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY 
CustomerID INT UNSIGNED NOT NULL 
Amount FLOAT(6,2) 
Date DATE NOT NULL 
受注と呼ばれてい

今、CustomerIDとREFERENCE Customersの外部キーを追加しようとしています(カスタムerID)

私は、このコマンドを使用していますが、#1452を取得しています - 子行を追加または更新できません:外部キー制約は、私はすでにInnoDBが一致することを確認作った

ALTER TABLE LA_Orders 
ADD CONSTRAINT fk_CustomerID FOREIGN KEY (CustomerID) REFERENCES LA_Customers(CustomerID) 

を失敗しました。

何か助力をいただければ幸いです。

+0

得意先は - 'は(実は、これはLA_Customers(CustomerID)NULLではないことを前提としてそれが本当でなければなりませんので、それは、主キーでなければなりません。) 0 'が入力されました - それは重要です – user3093389

答えて

0

LA_Ordersにすでにデータがあり、無効なCustomerIDの列がある場合に発生します。

あなたが使用してそれらを見つけることができます。

select lo.* 
from LA_Orders lo 
where lo.CustomerID not in (select lc.CustomerID from LA_Customers lc); 

関連する問題