sqlite3创建外键
时间: 2024-12-17 11:13:48 浏览: 5
SQLite 中创建外键(Foreign Key)是为了确保数据完整性,即引用关系中的数据必须存在。当你在一个表中定义一个字段为另一个表的主键(Primary Key),那么这个字段就是一个外键(ForeignKey)。以下是使用 SQLite3 创建外键的基本步骤:
1. 首先,你需要确保你要引用的表已经存在并且主键已经定义。
```python
import sqlite3
# 连接到数据库 (这里假设数据库名为my_database.db)
conn = sqlite3.connect('my_database.db')
cursor = conn.cursor()
```
2. 定义包含外键的表。例如,如果你有一个 `orders` 表,其中有一个 `customer_id` 字段,你想将其设置为主键的外键引用到 `customers` 表的 `id` 字段上:
```sql
# 在 orders 表中添加外键
create_orders_table_query = """
CREATE TABLE IF NOT EXISTS orders (
order_id INTEGER PRIMARY KEY,
product_name TEXT,
customer_id INTEGER,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
"""
cursor.execute(create_orders_table_query)
```
这里的 `FOREIGN KEY (customer_id) REFERENCES customers(id)` 是关键部分,它指定了 `customer_id` 是一个外键,引用了 `customers` 表的 `id` 主键。
3. 执行 SQL 查询并关闭连接:
```python
# 提交更改
conn.commit()
# 关闭连接
conn.close()
```
执行上述代码后,`orders` 表的 `customer_id` 字段就不能插入不存在于 `customers` 表 `id` 列中的值了,从而保证了数据的一致性和完整性。
阅读全文