mysql - 创建具有引用两个外键的复合主键的表

标签 mysql database

我正在尝试使用 MySQL 创建下表:

CREATE TABLE registrations (
    eventNumber CHAR(3) UNIQUE NOT NULL
        CHECK (EXISTS (SELECT eventNumber FROM events)),
    employeeNumber CHAR(5) UNIQUE NOT NULL 
        CHECK (EXISTS (SELECT employeeNumber FROM employees)),

    PRIMARY KEY(eventNumber , employeeNumber ),

    FOREIGN KEY (eventNumber) REFERENCES eventNumber (employees)
        ON UPDATE RESTRICT 
        ON DELETE RESTRICT,
    FOREIGN KEY (employeeNumber ) REFERENCES employeeNumber(employees)
        ON UPDATE RESTRICT 
        ON DELETE RESTRICT  
) ENGINE=InnoDB;

但是,当我运行该命令时,出现无法创建表错误 (1005)。这里可能出了什么问题?

最佳答案

仅供引用,我的 REFERENCES 语句错误。

它实际上应该是这样的:

REFERENCES <table name>(<attribute name>)

关于mysql - 创建具有引用两个外键的复合主键的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13727410/

相关文章:

java - 为什么 EL 函数应该来自具有非 void 返回类型的 Java 方法?

mysql - INSERT 语句与 FOREIGN KEY 约束冲突2

mysql - 获取三个表中的最大日期和相应行

MySQL:一个表中的多个时间戳用于 DateAdded、DateUpdated

PHP 代码 (mysqli) 查询在特定代码后不起作用

android - 无法连接到 Android 上的 MySQL

database - 树结构数据的图数据库或关系数据库

Android:单击按钮从数据库中删除行

database - 我应该主要使用哪个数据库来进行一次写入/多次读取操作?

database - 有哪些出色的在线数据库建模工具?