数据库设置主键
❶ 如何在数据库中设置ID字段为主键
在我看来,这种设计,是为了保证,在各种数据库上面,都兼容.
因为对于 自增ID 的处理。各个厂商的实现方式都不一样
例如
sql Server 是 IDENTITY 实现自增
Oracle 是 SEQUENCE + 触发器 实现自增
MySQL 是 AUTO_INCREMENT 实现自增
对于一家软件公司来说,如果他的产品,仅仅只能运行在 SQL Server 数据库上。
那么如果客户已经购买了 Oracle , 你要客户购买你的软件,然后再买套 SQL Server。
是不现实的。
如果你的设计中,过分的使用了数据库的特性,那么,对于你的产品。
比如 For SQL Server 版的 与 For Oracle 版的。
差异的地方,就很多,代码修改量也大。出错率也高。
比如某个功能 SQL Server 上面运行正常。
但是 Oracle 上面出错了。
结果很可能就是
SQL Server 里面的 IDENTITY 处理正常。
很可能 Oracle 那里,触发器 或者 SEQUENCE 忘记创建, 或者创建失败了。最后导致错误。
但是
每个表字段ID不设置为主键 建立一个TableID 有个2个字段 TableName , ID
这种方式,对所有的 数据库, 都支持。
不需要特别的设定。
我的印象中,好像 Java 开发中,使用的 Hibernate 里面, 就是这么设定的。
有个表专门存储 表名 与 ID 的。
而且 Hibernate 有它特有的处理机制的。
如果非常频繁的插入操作。比如现在 A 表的 ID 是 100
然后同一时刻,插入了 20条记录
那么 处理完毕后, A表的 ID 直接由 100 变为 120
而不是 从 100 开始,检索20次,更新 20次, 更新到 120。
这样也没有性能方面上的问题。
❷ sql中设置主键的作用
主键是唯一的,一个表通过一个主键可以确定一条记录,
❸ access数据库如何设置主键
设置主键是有前提条件的,首先要确认你要设置主键的列中的数据不能重复,然后在设计视图下右击该列,在弹出的菜单上选第一个“主键(K)”就可以了。
❹ mysql数据库必须设置主键吗
不是必须的
设置主键的目的是为了防止重复
还有索引,这个为了提高速度
❺ 怎样在数据库中设置主键
什么数据库阿。
在设计表id左边右键设置为主键、。
代码`id` mediumint(9) NOT NULL auto_increment,
❻ oracle中的数据库怎样设置主键
建表要点:
1 Gengeral 中定义表名,表空间。
2 Columns 对字段进行定义。
3 在Key选择主键字段,定义主键名称,一般用表名。
不能“Apply” 一般是定义不完全。
❼ 如何用sql 添加主键
操作步骤如下:
1、首先我们在这个StudentNo列上用你的鼠标右击,然后选择里面的修改,进行点击,弹出
界面。
❽ SQL怎样用命令设置主键
可以参考下面的方法:
建表的时候,可以直接在列名后面增加主键约束,比如:
IDchar(5)primarykey。
对已经建表的列增加主键约束:
alter table 表名addconstraint约束名 primary key (ID)
(8)数据库设置主键扩展阅读:
sql语句
添加主键
Alter table tabname add primary key(col)
删除主键
Alter table tabname drop primary key(col)
创建索引
create [unique] index idxname on tabname(col….)
删除索引
drop index idxname
❾ 怎么将数据库中的多个字段设为主键
以将两个字段设为主键为例:
第一步、首先打开sql server数据库,进行设计表,按住ctrl键,选中两个要设置为主键的字段,如下图所示:
❿ 我想知道数据库中设置主键的作用
1、保证每个实体的完整性;
2、加快数据库的操作速度,更好地给用户带来体验;
3、在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
4、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。
(10)数据库设置主键扩展阅读:
主键的使用规则介绍:
1、任意两行都不具有相同的主键值;
2、每行都必须具有一个主键值(主键列不允许NULL值);
3、可以使用多个列作为主键,但是所有列值得组合必须是唯一的(但单个列的值可以不唯一);
4、不更新主键列中的值;
5、不重用主键列的值;
6、不在主键列中使用可能会更改的值(例如,供应商的名字,如果供应商更改了名字,你就得改这个主键)。