【发布时间】:2018-06-22 08:37:10
【问题描述】:
我在 users_id 字段中删除了一个外键约束,并希望将字段值设置为允许 NULL 值和 DEFAULT NULL。
似乎外键约束已被删除,但不知何故我无法使该字段为 NULL。
ALTER TABLE tbl_name DROP FOREIGN KEY `fk_internal_team_has_users_users1`;
这是删除外键后的表架构:
CREATE TABLE `internal_team_head` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`internal_team_id` int(11) NOT NULL,
`users_id` int(11) NOT NULL DEFAULT '0',
`type` enum('lead','project_manager') NOT NULL,
`updated_by` int(6) DEFAULT NULL,
`updated_on` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`,`internal_team_id`,`users_id`,`type`),
KEY `fk_internal_team_has_users_users1_idx` (`users_id`),
KEY `fk_internal_team_has_users_internal_team1_idx` (`internal_team_id`),
CONSTRAINT `fk_internal_team_has_users_internal_team1` FOREIGN KEY (`internal_team_id`) REFERENCES `internal_team` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=69 DEFAULT CHARSET=utf8
现在我想更改 users_id 以允许 NULL 值并默认为 NULL。
ALTER TABLE `internal_team_head` CHANGE `users_id` `users_id` INT(11) NULL DEFAULT NULL;
Alter 查询成功执行,但users_id Null 属性仍设置为No,默认值设置为0。
如何执行更改?
【问题讨论】:
标签: mysql sql foreign-keys