2010-03-24 20 views
7

Tôi có 10 bảng trong cơ sở dữ liệu của tôi (MySQL). hai trong số họ được đưa ra dưới đâymysql xuất sql dump alphabatically, mà gây ra khó khăn chính nước ngoài lỗi trong nhập khẩu

tbl_state

state_id |int(10) |UNSIGNED ZEROFILL auto_increment 
state_name |varchar(40) 

tbl_city

city_id  |int(10) |UNSIGNED ZEROFILL auto_increment 
city_name |varchar(40) | 
state_code |int(10) | UNSIGNED ZEROFILL (FK reference with tbl_state.state_id) 

Ngoại chính Hạn chế:tbl_city.state_code là tài liệu tham khảo để tbl_state.state_id.

bây giờ vấn đề của tôi là

khi tôi xuất khẩu tất cả các bảng và nhập khẩu một lần nữa sau đó nó mang lại cho

foreign key constraint fails error.... vì khi tôi xuất khẩu bãi mysql, sql bãi được tạo ra trong bảng chữ cái ra lệnh bảng và tbl_city đến trước tbl_state trong cơ sở dữ liệu.

Vui lòng đề xuất cho tôi cách xử lý trường hợp này?

Có cách nào để tất cả các bảng đến theo thứ tự các tham chiếu khóa ngoại không?

Trả lời

7

Bạn muốn vô hiệu hóa kiểm tra chính nước ngoài lúc bắt đầu của các bãi chứa, và sau đó kích hoạt chúng sau khi tất cả các dữ liệu được đổ:

SET FOREIGN_KEY_CHECKS=0 

... dump ... 

SET FOREIGN_KEY_CHECKS=1 
+0

Tôi không thể thực hiện dữ liệu bcoz i m xporting này từ máy và nhập trên máy khác và điều này sẽ được thực hiện bởi người không kỹ thuật. và quá trình này sẽ b tiếp tục một lần trong một ngày mãi mãi ... đề xuất cho tôi một số ý tưởng khác – diEcho

+1

người kỹ thuật chịu trách nhiệm tạo ra bãi chứa nên sửa kịch bản của họ sau đó. hoặc sử dụng mysqldump để thực hiện điều này cho bạn –

+0

u có thể cho tôi biết liên kết nơi tôi có thể tìm thấy một số tập lệnh xuất mysql vào xml từ một máy và nhập xml vào mysql sang máy khác – diEcho

0

Bởi cơ hội nào nếu bạn sử dụng SQLyog. Sử dụng thuộc tính này. enter image description here

Các vấn đề liên quan