sql - SQLiteStudio 中的链接表
问题描述
我创建了 2 个“电影”和“导演”表。第一个有一个主键“id_film”,它是“directors”中的一个外键。在与电影中的外键关联的导演主键“id_director”中,但是当我使用 id_films 1 创建例如导演时,它不会自动将 id_director 电影添加到表/代码中:
CREATE TABLE directors (
id_director INTEGER PRIMARY KEY AUTOINCREMENT
REFERENCES films (id_film) ON UPDATE CASCADE,
FIO VARCHAR (50) NOT NULL,
id_film INTEGER REFERENCES films (id_film) ON UPDATE CASCADE,
id_genre INTEGER REFERENCES genre (id_genre) ON UPDATE CASCADE
);
CREATE TABLE films (
id_film INTEGER PRIMARY KEY AUTOINCREMENT,
title VARCHAR (50) UNIQUE
NOT NULL,
description VARCHAR (100),
date_created DATETIME NOT NULL,
age INTEGER,
time INTEGER,
id_genre INTEGER REFERENCES genre (id_genre) ON UPDATE CASCADE,
country VARCHAR (30),
id_director INTEGER REFERENCES directors (id_director) ON UPDATE CASCADE
);
示例请求
INSERT INTO directors (
FIO,
id_film,
id_genre
)
VALUES (
'christopher nolan',
'2',
'1'
);
如何发送创建导演的请求,其 id_director 会在电影表中自动更新?
解决方案
推荐阅读
- rest - 如何将数据从 BMC Remedy 推送到 Spring Boot 应用程序?
- google-apps-script - 如何使用基于时间的触发器每小时运行一个脚本,仅在工作日的每小时运行一次?
- .net - 从 .Net Core 2.0 Web 应用程序中的 apppsettings.json 文件中读取值
- oracle - 如何在 oracle 中删除计算日期的周末
- curl - Ubuntu 18、VPN 和 DNS:curl 无法解析 VPN-host,但 nslookup 和 dig 可以
- python - serial.tools.list_ports.comports() 只返回一项
- angular - 无法在 WebStorm 2019.1 中调试 Angular 应用程序
- javascript - WebAssembly.instantiate 在嵌入的 v8 中没有调用,也没有捕获
- flutter - 从 appbar.actions 触发 StatefulWidget 更改
- google-apps-script - 在 Google Docs 中捕获文档更改或自动保存的事件