gpt4 book ai didi

mysql - Mysql 中的默认键约束是什么,或者单独使用 "key"关键字有什么作用?

转载 作者:行者123 更新时间:2023-11-29 05:49:30 25 4
gpt4 key购买 nike

我已经创建了具有如下内容的表查询:

  create table table_name(
id int auto_increment,
...
KEY fk_some_name (some_column_name)
)

这个“ key ”有什么作用?我认为写它的人不知道他在做什么。他将其命名为 fk_some_name。我认为他想创建一个外键。搜索了一段时间,没有找到Key关键字单独使用的用法。

最佳答案

在您展示的情况下,它只是一个恰好名为 fk_some_name 的索引。

许多站点不喜欢使用真正的外键约束,但它们可能仍需要列上的索引以帮助优化针对该列的连接。这可能是一种命名约定,用于连接的索引使用 fk_ 前缀命名。

同样在 MySQL 中,如果您为已有索引的列定义外键约束,它将使用该索引,而不是创建一个多余的新索引。

KEYINDEX某些 上下文中是 MySQL 中的同义词。

你可以这样做:

CREATE TABLE ... ( ... {INDEX|KEY} name (some_column_name) )

你可以这样做:

ALTER TABLE ... ADD {INDEX|KEY} name (some_column_name)

在某些其他情况下,您不能互换使用它们:

只使用 KEY,不使用 INDEX:

CREATE TABLE ... ( ... FOREIGN KEY name (col) REFERENCES ... )

只使用 INDEX,不使用 KEY:

CREATE INDEX name ON tablename (column_name)

如有疑问,请阅读引用文档。

关于mysql - Mysql 中的默认键约束是什么,或者单独使用 "key"关键字有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55797492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com