重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用 UNIQUE关键字~!!!!!!!!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、洪江网站维护、网站推广。
For example:
create table table1 (column1 int primary key, 主键
column2 int unique 唯一
)
在添加或变更表结构时,把id字段设置为整型,下面的选项就会出现auto increment的选择框,勾选中就可以了.
1.建表时加上唯一性约束
CREATE TABLE `t_user` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(18) NOT NULL unique,
`password` varchar(18) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk;
2.给已经建好的表加上唯一性约束
ALTER TABLE `t_user` ADD unique(`username`);
mysql主键索引和唯一索引
1.主键一定是唯一性索引,唯一性索引并不一定就是主键;
2.一个表中可以有多个唯一性索引,但只能有一个主键;
3.主键列不允许空值,而唯一性索引列允许空值。
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`) ;
数据库建索引的科学性事关数据库性能,索引也不是越多越好。
两者有类似的功能,值都是必须唯一,但是不是主键的字段或者几个字段可以设置为唯一索引。
主键和唯一索引都要求值唯一,但是它们还是有区别的:
①.主键是一种约束,唯一索引是一种索引;
②.一张表只能有一个主键,但可以创建多个唯一索引;
③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;
④.主键不能为null,唯一索引可以为null;
⑤.主键可以做为外键,唯一索引不行;
直接查看表结构就可以。方法如下:
1、以第三方软件Navicat for Mysql为例,登录指定的数据库。
2、点击上方图标“查询”——“新建查询”。
3、弹出查询窗口输入“describe 表名”,这里表名以“test”为例,则写为“describe test”(不含引号):
describe test
4、结果如图,其中KEY列,如果显示“PRI”则代表此列为主键。