运行的时候显示order那里ERROR 1822 : Failed to add the foreign key constraint. Missing index for constraint ‘orderitem_ibfk_1’ in the referenced table ‘orders’,在网上搜了一下,看见要检查外键是否是另外的表的主键,但是都是呀,这是怎么回事啊
我后面又把order表注释掉,显示c_sevice那个表ERROR 1824 : Failed to open the referenced table 'fastfood_shop'又是咋回事啊
CREATE TABLE admin_login
(admin_id
varchar(50) NOT NULL,admin_pass
varchar(50) DEFAULT NULL,
PRIMARY KEY (admin_id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE order1
(cons_phone
varchar(50) NOT NULL,service_id
varchar(50) NOT NULL,order_id
varchar(50) NOT NULL,forder_money
varchar(50) DEFAULT NULL,order_way
varchar(50) DEFAULT NULL,cons_name
varchar(50) DEFAULT NULL,cons_addre
varchar(50) NOT NULL,
PRIMARY KEY (cons_phone
,service_id
),
FOREIGN KEY (cons_phone
) REFERENCES order1
(cons_phone
),
FOREIGN KEY (service_id
) REFERENCES c_service
(c_service_id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE c_service
(c_service_id
varchar(50) NOT NULL,c_service_name
varchar(50) NOT NULL,fastfood_shop_name
varchar(50) NOT NULL,
PRIMARY KEY (c_service_id
),
FOREIGN KEY (fastfood_shop_name
) REFERENCES fastfood_shop
(shop_name
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE fastfood_shop
(shop_name
varchar(50) NOT NULL,m_sale_v
varchar(50) NOT NULL,
PRIMARY KEY (shop_name
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE dispatcher
(dispatcher_id
varchar(50) NOT NULL,dispatcher_name
varchar(50) NOT NULL,dispatcher_phone
varchar(50) NOT NULL,fastfood_shop_namel
varchar(50) NOT NULL,
PRIMARY KEY (dispatcher_id
),
FOREIGN KEY (fastfood_shop_namel
) REFERENCES fastfood_shop
(shop_name
)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE wuliu
(cons_phonel
varchar(50) NOT NULL,disp_id
varchar(50) NOT NULL,deliver_time
varchar(50) DEFAULT NULL,
PRIMARY KEY (cons_phonel
,disp_id
),
FOREIGN KEY (cons_phonel
) REFERENCES order1
(cons_phone
),
FOREIGN KEY (disp_id
) REFERENCES dispatcher
(dispatcher_id
)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;