Mysql 如何查看一个表的unique key

Mysql 如何查看一个表的unique key,第1张

Mysql数据库管理工作中,经常需要查看一个table的primary key, unique key, foreign key。而mysql 客户端提供的describe table_name命令,却只能显示一个表的primary key和foreign key。这里介绍一种查询unique key的方法。

Mysql所有有关数据schema的信息都保存在INFORMATION_SCHEMA这个database instance里面。其中的两个表,TABLE_CONSTRAINTS和KEY_COLUMN_USAGE,保存了表的所有key信息。

TABLE_CONSTRAINTS

保存一个表的约束条件,其columns如下:

CONSTRAINT_CATALOG

CONSTRAINT_SCHEMA

CONSTRAINT_NAME :约束的名称

TABLE_SCHEMA :表所在的database instance

TABLE_NAME : 表名称

CONSTRAINT_TYPE :约束类型(primary key, foreign key, 或者unique key)

KEY_COLUMN_USAGE

保存一个表的详细column对应的约束条件信息,其columns如下:

CONSTRAINT_CATALOG

CONSTRAINT_SCHEMA

CONSTRAINT_NAME

:约束的名称

TABLE_CATALOG

TABLE_SCHEMA

:表所在的database instanceTABLE_NAME: 表名称COLUMN_NAME :列名称

ORDINAL_POSITION

POSITION_IN_UNIQUE_CONSTRAINT

REFERENCED_TABLE_SCHEMA

REFERENCED_TABLE_NAME

REFERENCED_COLUMN_NAME

通过查询KEY_COLUMN_USAGE表,即可以获取一个表的所有详细约束条件。

关键的问题是在userid重复的时候你希望如何处理?

如果重复了不做处理,那就直接插入,失败了就算了。

如果重复了就修改,那么把插入语句的INSERT改为REPLACE,这样系统自动检查是否重复,重复的就做UPDATE,无重复就新插入。

具体是否有必要先进行检查,这看你的实际情况,如果实际一般都不会遇到重复,那么插入前检查就显得很多余。

如何设置mysql数据库字段为unique

key

用alter命令,代码如下:

alter

table

user

add

unique

key(`name`)

实现的方法和详细的 *** 作步骤如下:

1、第一步,使用navicat连接到mysql数据库并创建一个新的用户表,见下图转到下面的步骤。

2、第二步,完成上述步骤后,填写一些测试内容以演示测试结果,见下图,转到下面的步骤。

3、第三步,完成上述步骤后,选择用户名,然后单击鼠标右键以选择“设计表”选项,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,切换到设计表中的“索引”标签,见下图,转到下面的步骤。

5、第五步,完成上述步骤后,开始添加索引。如果不需要索引名称,则默认情况下可以为空。该工具将自动生成与字段名称相同的名称。单击字段后面的按钮以显示选择框,选择需要唯一约束的字段。在这里,登录到名称字段,见下图,转到下面的步骤。

6、第六步,完成上述步骤后,选择“索引类型”选项,唯一约束必须选择“Unique”类型,见下图,转到下面的步骤。

7、第七步,完成上述步骤后,将第三条数据的登录名修改为与第二条数据相同,然后单击下面的复选标记按钮进行保存,见下图,转到下面的步骤。

8、第八步,完成上述步骤后,保存时将报告错误,提示“Duplicate entry 'bb' for key 'login_name'”,重复的登录名无法成功保存,表明添加的唯一约束已生效,见下图。这样,就解决了这个问题了。

以上就是关于Mysql 如何查看一个表的unique key全部的内容,包括:Mysql 如何查看一个表的unique key、mysql设置了unique是先查询在插入还是插入后看数据库错误是否错误再更新、如何设置mysql数据库字段为unique key等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10180617.html

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

发表评论

登录后才能评论

评论列表(0条)

保存