040、TiDB特性_外键

  • TiDB ⽀持外键语法,以避免将数据从其他数据库迁移到 TiDB 时由于语法引起的错误。
  • TiDB 不对外键强制执⾏约束检查。
tidb> CREATE TABLE test.p (id INT PRIMARY KEY, name CHAR(30));
# 下面的SQL可以在TiDB中运行,但不会有外键的效果,因为不会检查这个约束。
tidb> CREATE TABLE test.c (id INT PRIMARY KEY, pid INT NOT NULL,
FOREIGN KEY (pid) REFERENCES test.p (id));  
tidb> INSERT INTO test.p VALUES (1,'A');
tidb> INSERT INTO test.c VALUES (1,100); #这个100在父表中没有,也能插入。
SELECT 'p', id FROM test.p
UNION ALL
SELECT 'c', pid FROM test.c;
+------+------+
| p | id |
+------+------+
| c | 100 |
| p | 1 |
+------+------+

实际:工作中其实也不希望外键在数据库层面,更多在业务层更好。

你可能感兴趣的:(TiDB从入门到精通,tidb,数据库,oracle,sql,分布式数据库)