Sql数据库主键问题,很简单的.

问题描述

[img=http://sz.photo.store.qq.com/rurl2=607f258612c49525eae8b06fb69e9dbd45f276b4f7c1fcf5fb2345c28d159d5c2fd7f3481ff778949756ff8edf5fd2082f18df00203f8728277927299f35345d0344a43319b6a45c60f0d9651b2a52b027a88adc][/img]请问这个表“PlateNo”列,"GroupCoCode"列他们又不是主键,前面怎么又有个主键的"钥匙"符号呢?谁能给我解释下吗?怎么取消掉其中一个(让他没有钥匙符号。)呢?

解决方案

解决方案二:
红x看不到。
解决方案三:
你怎么知道不是主键?!双主键,右击“钥匙”,取消“打勾”!
解决方案四:
看不到图
解决方案五:
顶!看不到图,郁闷
解决方案六:
因为我去点它,没有取消。反倒可以设置为主键。。后来我去看表索引,原来是索引。。但是我取消一个,就报错啦。。
解决方案七:
报了一个这样的错。。“MDriver”表-无法创建索引“PK_M_Driver”。ODBC错误:[Microsoft][ODBCSQLServerDriver][SQLServer]CREATEUNIQUEINDEX终止,因为发现了索引ID1的重复键。最重要的主键为'VHK'。[Microsoft][ODBCSQLServerDriver][SQLServer]未能创建约束。请参阅前面的错误信息。[Microsoft][ODBCSQLServerDriver][SQLServer]语句已终止。
解决方案八:
请问:数据库已个字段设置为索引键,允许为空。插入数据是必须有值?
解决方案九:
是双主键。。你表里有数据了。当你取消掉一个时,剩下的那个就是主键。你表里剩下的主键的数据有重复的。。删掉所有数据在取消其中一个主键。
解决方案十:
那2个都不是主键。是索引哦。。
解决方案十一:
11
解决方案十二:
引用8楼benyouyong的回复:

是双主键。。你表里有数据了。当你取消掉一个时,剩下的那个就是主键。你表里剩下的主键的数据有重复的。。删掉所有数据在取消其中一个主键。

应该是这样的
解决方案十三:
``其实主键是自己可以设置的````自己手动设置这一列是否为主键``````点右键就可以了`````
解决方案十四:
我也想知道,正在找這方面的資料~~~~~

时间: 2024-09-19 20:54:53

Sql数据库主键问题,很简单的.的相关文章

sql数据库主键自增长设置

主键自增长 MySQL的主键自增长只需将主键定义为AUTO_INCREMENT,如:  代码如下 复制代码 CREATE TABLE user (  id int AUTO_INCREMENT,  name varchar(30) NOT NULL,  password varchar(30) NOT NULL,  PRIMARY KEY (id) ) INSERT INTO user(name,password) VALUES('sunyzc','123'); SQLServer的主键自增长也

小议sqlserver数据库主键选取策略_MsSql

因为主键可以唯一标识某一行记录,所以可以确保执行数据更新.删除的时候不会出现张冠李戴的错误.当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了.主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致.所以数据库在设计时,主键起到了很重要的作用. 常见的数据库主键选取方式有: 自动增长字段 手动增长字段 UniqueIdentifier "COMB(Combine)"类型 一.自动增长型字段 很多数据库设计者喜欢使用自动增长型字段,因为它使用简单.

谈数据库主键选取策略

INT和GUID,究竟选谁? 关于数据库主键的选取策略,大家都是在INT和GUID两者中徘徊.忘了那些喋喋不休的争论吧!毕竟鱼与熊掌,不可兼得.在这篇文章中,我们不再关注它们的优缺点,自觉先行做点功课哦! 如小标题,如果真要选,我会选谁?肯定地说,我会选GUID,又或者两者都选上.后者情形下,使用GUID做主键.INT做小二,INT在业务层生成,这要即使重复了,也不碍事,且INT是要反馈给前端的,定时做一个防冲突检测.如果让用户记忆或反馈那GUID字符串(去连接字符后32位),可以直接去跳楼了!

数据库主键设计之思考

主键的必要性: 有些朋友可能不提倡数据库表必须要主键,但在我的思考中,觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,本记录的修改与删除,当我们没有主键时,这些操作会变的非常麻烦. 主键的无意义性: 我强调主键不应该具有实际的意义,这可能对于一些朋友来说不太认同,比如订单表吧,会有"订单编号"字段,而这个字段呢在业务实际中本身就是应该具有唯一性,具有唯一标识记录的功能,但我是不推荐采用订

从Oracle数据库到SQL Server数据库主键的迁移

oracle|server|数据|数据库 由于项目需要要将以前Oracle的数据库转化为SQL Server,今天利用SQL Server的DTD进行数据库的迁移,但导入以后发现只导入了表结构和数据,而表的一些主键约束都没导过来,感觉很郁闷,而手头又没有好的迁移工具,如Erwin,所以动手写了个小工具,基本实现了主键的转移,主要代码如下:主要控件:     ADOConnOrcale: TADOConnection;  //连接Oracle    ADOConnSQLServer: TADOCo

sql server数据库主键自增一次增长了1000多

问题描述 用.net做的一个信息管理系统,用的sqlserver数据库,把主键设置了自增,增量为1,如果是今天向表中添加信息,会按照逐条加1增长,但是明天如果再添加的话,主键的值就会比上一条数据多出1000多,搞不懂这是为什么,求大神帮忙!!附图: 解决方案 解决方案二:看看你表设计另外事务中添加的时候,就算回滚了,自增还是会体现到数据库的解决方案三:确定增量为1,应该有频繁的插入删除操作.解决方案四:设计就是按正常设计的,在添加信息的时候也没有用到事务操作解决方案五:插入失败,回滚时,等下次插

数据库主键int型和str型效率比较

比较|数据|数据库 又看到这样的一段话: 主键用整型会极大的提高查询效率,而字符型的比较开销要比整型的比较开销大很多,用字符型数据作主键会使数据插入.更新与查询的效率降低.数据量小的时候这点降低可能不会被注意,可是当数据量大的时候,小的改进也能够提高系统的响应速度. 我做了一个实验,用MSSQL企业管理器建立两张表TInt和TStr, TInt { intId int PRIMARY KEY intValue int } TStr { strId varchar(20) PRIMARY KEY

sqlserver数据库主键的生成方式小结(sqlserver,mysql)_MsSql

主键的生成方式主要有三种: 一. 数据库自动生成 二. GUID 三. 开发创建 严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行讲解. 第一种方式,主要将其定位在自增长的标识种子:可以设置起始数值,及增长步长.其优点在于使用时完全将并发任务交于数据库引擎管理,你不用担心存在多用户使用的时候会产生两个相同的ID的情况.其缺点也在于此,多数的数据库不提供直接获取标识ID的方式,对于开发人员来说产生ID的方式是透明的,开发人员几乎无法干预此项.对于数据的迁移也不是很方便. 由于存在上面的利

sqlserver数据库主键的生成方式小结(sqlserver,mysql)

主键的生成方式主要有三种: 一. 数据库自动生成 二. GUID 三. 开发创建 严格讲这三种产生方式有一定的交叉点,其定位方式将在下面进行讲解. 第一种方式,主要将其定位在自增长的标识种子:可以设置起始数值,及增长步长.其优点在于使用时完全将并发任务交于数据库引擎管理,你不用担心存在多用户使用的时候会产生两个相同的ID的情况.其缺点也在于此,多数的数据库不提供直接获取标识ID的方式,对于开发人员来说产生ID的方式是透明的,开发人员几乎无法干预此项.对于数据的迁移也不是很方便. 由于存在上面的利