SQLite 中如何定义外键?

· 约 3 分钟读完 · 第 23 / 138 章

推荐答案

在 SQLite 中,可以通过在 CREATE TABLE 语句中使用 FOREIGN KEY 约束来定义外键。外键用于建立表与表之间的关系,确保数据的完整性和一致性。

例如,定义两个表 Orders 和 Customers,并在 Orders 表中定义一个外键,引用 Customers 表中的 CustomerID 列:

本题详细解读

1. 外键的作用

外键用于确保表与表之间的数据一致性。它通过将一个表中的列与另一个表中的列关联起来,确保在插入或更新数据时,引用的数据必须存在于关联表中。

2. 外键的语法

在 SQLite 中,外键的定义通常在 CREATE TABLE 语句中完成。语法如下:

  • 列名:当前表中要作为外键的列。
  • 关联表名:被引用的表的名称。
  • 关联列名:被引用表中与外键关联的列。

3. 外键的约束

外键约束可以确保以下行为:

  • 插入约束:在插入数据时,外键列的值必须存在于关联表的关联列中。
  • 更新约束:在更新外键列时,新值必须存在于关联表的关联列中。
  • 删除约束:当关联表中的某一行被删除时,可以指定如何处理外键表中的相关行。常见的处理方式包括:
    • CASCADE:级联删除或更新。
    • SET NULL:将外键列设置为 NULL。
    • RESTRICT:阻止删除或更新操作。

4. 示例

以下是一个更复杂的示例,展示了如何在 SQLite 中使用外键约束:

在这个示例中,Employees 表中的 DepartmentID 列是一个外键,引用了 Departments 表中的 DepartmentID 列。当 Departments 表中的某一行被删除时,Employees 表中对应的行也会被级联删除。