2011-03-31 4 views
0

외래 키 제약 조건이 사라지는 방법은 무엇입니까? 제약 조건 중 일부가 사라진 약 20 개의 데이터베이스가 있습니다.외래 키 제약 조건의 원인이 사라짐

mysql> show create table phppos_sales_items; 
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table    | Create Table                                                                                                                                        | 
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| phppos_sales_items | CREATE TABLE `phppos_sales_items` (
    `sale_id` int(10) NOT NULL default '0', 
    `item_id` int(10) NOT NULL default '0', 
    `description` varchar(30) default NULL, 
    `serialnumber` varchar(30) default NULL, 
    `line` int(3) NOT NULL default '0', 
    `quantity_purchased` double(15,2) NOT NULL default '0.00', 
    `item_cost_price` decimal(15,2) NOT NULL, 
    `item_unit_price` double(15,2) NOT NULL, 
    `discount_percent` int(11) NOT NULL default '0', 
    PRIMARY KEY (`sale_id`,`item_id`,`line`), 
    KEY `item_id` (`item_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+--------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

mysql> show create table phppos_sales_items_taxes; 
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table     | Create Table                                                                                 | 
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| phppos_sales_items_taxes | CREATE TABLE `phppos_sales_items_taxes` (
    `sale_id` int(10) NOT NULL, 
    `item_id` int(10) NOT NULL, 
    `line` int(3) NOT NULL default '0', 
    `name` varchar(255) NOT NULL, 
    `percent` double(15,2) NOT NULL, 
    PRIMARY KEY (`sale_id`,`item_id`,`line`,`name`,`percent`), 
    KEY `item_id` (`item_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 | 
+--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 
+0

제약 조건이 사라지는 일부 테이블에서'show create table ; '을 실행 한 결과를 게시 할 수 있습니까? – vpit3833

+0

@ vpit3833 몇 가지 예를 보여주기 위해 예제를 업데이트했습니다. –

답변

0

This는 원인이 될 수 있습니다. 오래되었지만 자세한 내용은 here에 설명되어 있습니다. 테이블 생성 후 테이블을 변경하면 원인이 될 수 있습니다. 비슷한 것을하고 있습니까?

관련 문제