是否可以创建一个表,其中两列代表一个主键,其中一个是自动编号但不是不同的。类似于 (teacherID,schoolID(FK),teacherName) 的东西,其中前两个是主键,第一个是自动编号。当插入来自不同学校的教师时,teacherID 自动增量应取决于学校。
插入示例
- 1, 1, 史蒂文
- 2、1、莱斯利
- 1、2、玛丽亚
我知道可以使 SQL 查询像这样插入,但是在表设置中可以吗?
是否可以创建一个表,其中两列代表一个主键,其中一个是自动编号但不是不同的。类似于 (teacherID,schoolID(FK),teacherName) 的东西,其中前两个是主键,第一个是自动编号。当插入来自不同学校的教师时,teacherID 自动增量应取决于学校。
插入示例
我知道可以使 SQL 查询像这样插入,但是在表设置中可以吗?
你这样说:Something like (teacherID,schoolID(FK),teacherName) where first two are primary key and first one is autonumber
。
听起来你在老师和学校之间有多对多的关系。这很正常。您使用 3 个表来完成此操作 - 教师表、学校表和连接表。让我们称之为教师学校。它将包含其他 2 个表的外键,以及您要存储的任何其他内容(isActive、dateCreated 等)。它的主键是两个外键加上你需要使它唯一的任何其他东西。
要将记录输入到teacherSchool 表中,您必须向插入查询传递必要的值。这将被纳入您用于数据输入的任何内容中。事实上,即使使用您当前的设计,您也需要一些可以让您的数据输入人员识别学校的东西。无论是什么都应该将 schoolID 传递给您的插入查询。
这不是自动编号的工作方式。如果你想做这样的事情,你将不得不自己计算。但我必须提醒你不要这样做。我认为这是一张教师桌,你想做的是一个坏主意,因为