MySQL-创建表时一起使用时,“ PRIMARY KEY”,“ UNIQUE KEY”和“ KEY”的含义

MySQL-创建表时一起使用时,“ PRIMARY KEY”,“ UNIQUE KEY”和“ KEY”的含义,第1张

MySQL-创建表时一起使用时,“ PRIMARY KEY”,“ UNIQUE KEY”和“ KEY”的含义

密钥只是普通索引。一种简化的方法是将其视为图书馆中的卡片目录。它为MySQL指明了正确的方向。

唯一键还用于提高搜索速度,但是它具有以下约束:不能有重复项(不存在两个x和y,其中x不是y且x == y)。

该手册对它的解释如下:

UNIQUE索引会创建约束,以使索引中的所有值都必须不同。如果您尝试添加键值与现有行匹配的新行,则会发生错误。除BDB存储引擎外,此约束不适用于NULL值。对于其他引擎,UNIQUE索引允许可以包含NULL的列使用多个NULL值。如果为UNIQUE索引中的列指定前缀值,则列值在前缀中必须唯一。

主键是“特殊”唯一键。它基本上是唯一的密钥,除了用于识别某些东西。

该手册说明了一般如何使用索引:此处。

在MSSQL中,概念相似。有索引,唯一约束和主键。

未经测试,但我相信等效的MSSQL是:

CREATE TABLE tmp (  id int NOT NULL PRIMARY KEY IDENTITY,  uid varchar(255) NOT NULL ConSTRAINT uid_unique UNIQUE,  name varchar(255) NOT NULL,  tag int NOT NULL DEFAULT 0,  description varchar(255),);CREATE INDEX idx_name ON tmp (name);CREATE INDEX idx_tag ON tmp (tag);

编辑:上面的代码经过测试是正确的;但是,我怀疑这样做有更好的语法。自从我使用SQL Server以来已有一段时间了,显然我已经忘记了很多:)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5043866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存