问:mysql外键不能约束

发布于 2022-08-19 22:33:43 字数 2227 浏览 8 评论 1

下面是我输入的内容
mysql> create table t_book( fid varchar(20) primary key, fname varchar(100), fpageconut int, fauthorid varchar(20), foreign key(fauthorid) references t_author(fid));
Query OK, 0 rows affected (0.01 sec)

mysql> describe t_author;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| fid    | varchar(20)  | NO   | PRI |         |       |
| fname  | varchar(100) | YES  |     | NULL    |       |
| fage   | int(11)      | YES  |     | NULL    |       |
| femail | varchar(20)  | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> insert into t_book values('3','hello start',354,'8');
Query OK, 1 row affected (0.00 sec)

mysql> select * from t_author;
+-----+----------+------+--------------------+
| fid | fname    | fage | femail             |
+-----+----------+------+--------------------+
| 1   | lily     |   20 | lily@gmail.com     |
| 2   | kingchou |   23 | kingchou@gmail.com |
| 3   | stef     |   28 | stef@gmail.com     |
| 4   | long     |   26 | long@gmail.com     |
| 5   | badboy   |   31 | badboy@gmail.com   |
+-----+----------+------+--------------------+
5 rows in set (0.00 sec)

mysql>

上面的那条insert 语句竟然能输入 不知道原因
可否给个解释?
check约束也不能约束 据说官方解释是增强移植问题

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小红帽 2022-08-22 08:27:40

确定表是INNODB?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文