对比老师视频很多次,发现不出来错误
来源:2-3 实体类设计与表创建B
cuteqing
2020-01-17
USE o2o;
CREATE TABLE`tb_wechat_auth`(
`wechat_auth_id`INT(10)NOT NULL AUTO_INCREMENT,
`user_id`INT(10)NOT NULL,
`open_id`VARCHAR(1024)NOT NULL,
`create_time`datetime DEFAULT NULL,
PRIMARY KEY(`wechat_auth_id`),
CONSTRAINT`fk_wechatauth_profile`FOREIGN KEY(`user_id`)REFERENCES`tb_person_info`(`user_id`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE`tb_local_auth`(
`local_auth_id`INT(10)NOT NULL AUTO_INCREMENT,
`user_id`INT(10)NOT NULL,
`username`VARCHAR(128)NOT NULL,
`password`VARCHAR(128)NOT NULL,
`create_time`datetime DEFAULT NULL,
`last_edit_time`datetime DEFAULT NULL,
PRIMARY KEY(`local_auth_id`)
UNIQUE KEY`uk_local_profile`(`username`),
CONSTRAINT`fk_localauth_profile`FOREIGN KEY(`user_id`)REFERENCES`tb_person_info`(`user_id`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
写回答
1回答
-
翔仔
2020-01-18
同学好,`user_id`INT(10)NOT NULL, 这样设置肯定不行,不为空也就代表着肯定有默认值,默认值是0,但是user_id为0的数据在tb_person_info表里没有,所以外键字段默认允许为空才可以
052020-03-15
相似问题