mysql建表时如何把两个字段加一起指定为唯一索引

mysql建表时如何把两个字段加一起指定为唯一索引,第1张

mysql无法在建表时把两个字段加一起指定为唯一索引。mysql设置联合唯一索引方法如下:使用Altertable表名addUNIQUEindex索引名(字段1,字段2)语句来设置,它会删除重复的记录,保留一条,然后建立联合唯一索引。

1.UNIQUE 关键字建唯一索引

mysql>CREATE TABLE `wb_blog` (

-> `id` smallint(8) unsigned NOT NULL,

-> `catid` smallint(5) unsigned NOT NULL DEFAULT '0',

-> `title` varchar(80) NOT NULL DEFAULT '',

-> `content` text NOT NULL,

-> PRIMARY KEY (`id`),

-> UNIQUE KEY `catename` (`catid`)

->)

如果建好表了,可以用以下语句建

mysql>CREATE UNIQUE INDEX catename ON wb_blog(catid)

2.联合索引

ALTER TABLE `tasks`

ADD INDEX `testabc` (`title`, `created`)

3联合唯一索引(假设有这个需求,在同一天内不能建两个tiltle一样的任务)

ALTER TABLE `tasks`

ADD UNIQUE INDEX `testabc` (`title`, `created`)

数据库建索引的科学性事关数据库性能,索引也不是越多越好。

MySQL中有唯一性约束的列能为空。

唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的,允许为空,但只能出现一个空值。对字段使用了Unique约束,可以当主键在数据库中使用。约束名的命名规则推荐采用“约束类型_约束字段”这样的形式。

扩展资料:

当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:

1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。

2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有 一行包含空值。


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

原文地址: https://outofmemory.cn/zaji/7539096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存