mysql整数约束_MySQL外键约束 – 整数列

您可能希望将外键设置为接受NULL值,并使用NULL而不是0值.

从概念上讲,NULL表示缺少未知值.如果你的行“没有/需要值”,我相信NULL非常适合.

是的,NULL值不会破坏您的外键约束.

让我们建立一个基本的例子:

CREATE TABLE parents (

id int PRIMARY KEY,

value int

) ENGINE = INNODB;

CREATE TABLE children (

id int PRIMARY KEY,

parent_id int,

FOREIGN KEY (parent_id) REFERENCES parent (id)

) ENGINE = INNODB;

然后:

INSERT INTO parents VALUES (1, 100);

Query OK, 1 row affected (0.00 sec)

INSERT INTO children VALUES (1, 1);

Query OK, 1 row affected (0.00 sec)

INSERT INTO children VALUES (2, 0);

ERROR 1452 (23000): A foreign key constraint fails

INSERT INTO children VALUES (2, NULL);

Query OK, 1 row affected (0.00 sec)

SELECT * FROM children;

+----+-----------+

| id | parent_id |

+----+-----------+

| 1 | 1 |

| 2 | NULL |

+----+-----------+

2 rows in set (0.01 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值