mysql - 为什么这个表创建在mysql中不起作用

标签 mysql

我不知道为什么这个简单的表在运行时不会自动创建 它只是说右括号有问题

CREATE TABLE LeaderBoard (
ID INT,
Score int,
PRIMARY KEY (ID),
FOREIGN KEY (ID)
);

最佳答案

外键必须引用其他表。

外键是通过主键引用另一个表中的行的值,用于建立两个表之间的关系。换句话说,声明为外键的列必须包含从其他表的主键列中选取的值(如果有多个主键列,则引用表中的每个主键列都应该有一个外键列)。​​

在不引用另一个表的情况下声明外键是没有意义的。

我建议您阅读以下内容:https://en.wikipedia.org/wiki/Foreign_key

(注意:某些引擎可能会放宽我上面概述的一些限制;我不记得 MySQL 在这方面的具体限制。尽管如此,在设计数据库模式之前了解外键和关系的概念很重要。 )

关于mysql - 为什么这个表创建在mysql中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48038531/

相关文章:

java - 每月更新一条数据库记录

mysql - 使用多个过滤器从mysql中选择随机记录

php - 从 2 个表中选择具有第 3 个表的链接属性值的数据

php - 将Android中的图片上传到MySQL数据库

python - 如何使用 SQLAlchemy 将成批的条目提交到 SQL 数据库中以防止出错?

MySQL -Pentaho 从模式获取 View 时出错[null]

php - 为什么这段使用 MySQLi 的代码抛出 PHP Notice : trying to get property of non-object

python - 如何获取所有数据库的列表并在 python 中对其运行查询

c++ mysql连接器从字符串中选择id

php - 为从 MySQL 获取的数组的每一行创建一个 div