【发布时间】:2016-01-13 01:32:13
【问题描述】:
我的两张空桌子:
CREATE TABLE person (
person_id SMALLINT UNSIGNED,
fname VARCHAR(20),
lname VARCHAR(20),
gender ENUM('m', 'f'),
birth_date DATE,
street VARCHAR(30),
city VARCHAR(20),
state VARCHAR(20),
country VARCHAR(20),
postal_code VARCHAR(20),
CONSTRAINT pk_person PRIMARY KEY (person_id)
);
create TABLE favorite_food (
person_id SMALLINT UNSIGNED,
food VARCHAR(20),
CONSTRAINT pk_favorite_food PRIMARY KEY (person_id, food),
CONSTRAINT fk_fav_food_person_id FOREIGN KEY (person_id) REFERENCES person (person_id)
);
需要修改:
ALTER TABLE person MODIFY person_id SMALLINT UNSIGNED AUTO_INCREMENT;
结果:
错误 1833 (HY000):无法更改列“person_id”:用于 表的外键约束“fk_fav_food_person_id” 'tom.favorite_food'
为什么会这样?有没有办法在不删除表格并重新定义它们的情况下解决这个问题?
【问题讨论】:
标签: mysql