【发布时间】:2016-04-09 16:38:02
【问题描述】:
shippings 表结构 我想像这样连接到另一个表(我收到“1215 错误”):
CREATE TABLE goods_and_shippings (
good_id INT NOT NULL,
s_date DATE NOT NULL,
shipping_id INT NOT NULL,
PRIMARY KEY (good_id),
FOREIGN KEY (s_date) REFERENCES shippings(s_date)
)
如您所见,连接的列具有相同的数据类型(DATE 和 NOT NULL),并且所有表都使用 InnoDB 引擎。但我有这个 sn-p 并且它有效:
CREATE TABLE goods_and_shippings (
good_id INT NOT NULL,
s_date DATE NOT NULL,
shipping_id INT NOT NULL,
PRIMARY KEY (good_id),
FOREIGN KEY (shipping_id) REFERENCES shippings(shipping_id)
)
目前所有表都是空的。这是创建运输的查询:
CREATE TABLE shippings (
shipping_id INT NOT NULL,
s_date DATE NOT NULL,
driver_id INT NOT NULL,
start_place VARCHAR(50) NOT NULL,
end_place VARCHAR(50) NOT NULL,
car_id INT NOT NULL,
price DECIMAL(5,2) NOT NULL,
PRIMARY KEY (shipping_id, s_date)
)
以下是我使用过的改动:
ALTER TABLE shippings ADD CONSTRAINT fk_car_id FOREIGN KEY (car_id) REFERENCES cars(car_id);
ALTER TABLE shippings ADD CONSTRAINT fk_driver_id FOREIGN KEY (driver_id) REFERENCES drivers(driver_id);
我的查询有什么问题?如何解决这个问题并连接goods_and_shippings.s_date和shippings.s_date?
【问题讨论】:
标签: php mysql sql phpmyadmin innodb