mysql - 如何从另一个表中引用 SQL?

标签 mysql sql

情况是这样的: 我有一张 table 供员工使用,另一张 table 供类(class)使用。 当然,我将有一个名为 coordinator 的列,它将引用 Staff_id。 这是因为有些员工是协调员,有些不是,等等。

Staff_id 是一个 IDENTITY,因此它是自动递增的,我必须确保在类(class)表中,它不会遵循此自动递增。

我只是不确定如何实现这种情况下的检查约束。

最佳答案

I have to make sure the in the course table, it won't follow this auto-increment.

您的意思是您不希望类(class)表中的coordinator字段自动递增吗?除非你告诉它,否则它不会。

例如,这两个表可以正常工作:

CREATE TABLE Staff
(
    `staff_id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(64),
    PRIMARY KEY (`staff_id`)
)

CREATE TABLE Courses
(
    `course_id` INT NOT NULL AUTO_INCREMENT,
    `coordinator_id` INT NOT NULL,
    `coursename` VARCHAR(64),
    PRIMARY KEY (`course_id`),
    INDEX `coordid` (`coordinator_id`)
)

当然,正如GarethD所说,你可以额外添加约束来保证coordinator_id填写正确并且对应的记录存在于staff中。

关于mysql - 如何从另一个表中引用 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432307/

相关文章:

php - 制作我自己的网站分析

mysql - mysql无法添加外键约束

java - 如何导出我的 java 项目,以便它可以在没有 IDE (netbeans) 帮助的情况下运行?

php - 我如何验证这个 php 表单?

mysql - 索引操作究竟发生了什么?

php - 选择数据并在同一页面上显示而不加载(php/ajax)

SQL 性能 - 更好地插入和引发异常或检查是否存在?

java - 如何在 JDBC 中获取受 UPDATE 查询影响的所有行?

java - "Invalid column index"尝试插入行时出现 SqlException 错误

mysql - 从数据表中获取前四个值。然后根据条件交换