`
京华倦客
  • 浏览: 123663 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

修改主键的类型(数据库)

 
阅读更多
SQL SERVER 修改把主键的类型从int型改成string型

先删除主键,然后修改主键对应字段的类型,最后从新添加主键

ALTER TABLE S_UNIT DROP CONSTRAINT PK_S_UNIT;
ALTER TABLE S_UNIT ALTER COLUMN ID varchar(32) not null;
alter table S_UNIT add constraint PK_S_UNIT primary key(ID);


如果其它表的外键是这个主键的话,要先删除这个表的外键关联
ALTER TABLE S_HONOR DROP CONSTRAINT FK_S_HONOR__S_UNIT;

然后修改变的外键所对应的字段
ALTER TABLE S_HONOR ALTER COLUMN UNIT_ID varchar(32);

最后添加外键关联
alter table S_HONOR add constraint FK_S_HONOR__S_UNIT     foreign key(UNIT_ID) references S_UNIT(ID) ON DELETE  CASCADE;

ORACLE数据库修改

先删除主键,然后修改主键对应字段的类型,最后从新添加主键
ALTER TABLE S_UNIT DROP CONSTRAINT PK_S_UNIT;
ALTER TABLE S_UNIT MODIFY ID varchar(32);
alter table S_UNIT add constraint PK_S_UNIT primary key(ID);

如果其它表的外键是这个主键的话,要先删除这个表的外键关联
ALTER TABLE S_HONOR DROP CONSTRAINT FK_S_HONOR__S_UNIT;

然后修改变的外键所对应的字段
ALTER TABLE S_HONOR MODIFY UNIT_ID varchar(32);

最后添加外键关联
alter table S_HONOR add constraint FK_S_HONOR__S_UNIT     foreign key(UNIT_ID) references S_UNIT(ID) ON DELETE  CASCADE;


注意:oracle修改字段的时候,如果里面有值的话,要先就行处理
alter table S_LOGIN_LOG add temp_id varchar(32);
update S_LOGIN_LOG set temp_id=id;
alter table S_LOGIN_LOG drop column id;
alter table S_LOGIN_LOG rename column temp_id to ID;
分享到:
评论

相关推荐

    数据库中表的主键设计原则收藏.doc

    4. 主键类型可以是字符型的,我们可以定义一个字段存放一个数值,在生成时,自动加一,然后再存回去。 主键的设计是数据库设计中非常重要的一步。我们应该遵循上述原则,设计一个好的主键,提高数据库的性能和可...

    易语言操作数据库教程之EDB教程

    2.查询数据(讲SQL类型的数据库的时候我们会详细的讲到)。ACCESS SQLITE QE(内存操作的数据库)。易语言操作数据库教程之EDB教程第二讲。第二讲:。1.什么是主键。主键: 即是唯一的,不可重复的整数型的字段。id 张三的...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    - 确保在创建表时已经正确设置了主键字段,并且该字段的数据类型支持自动增长。 - 序列的创建脚本可能不会自动包含在表的创建脚本中,需要手动添加。 - 测试时,检查主键是否按照预设规则自动增长。 以上步骤详细...

    sqlserver无主键表的同步方案1

    对于包含XML字段的表,可以通过编写Java脚本,利用Java连接源数据库和目标数据库,将整个表转移到新库中,并在转移后进行表名的修改和检查,以实现无缝切换。而对于包含image、text等字段的表,可以使用`SELECT INTO...

    利用数据库的修改数据库

    "修改数据库"这一主题涵盖了数据库设计、表结构的调整、数据的更新与删除、索引的优化等多个方面。本篇文章将深入探讨这些关键知识点,旨在为初学者提供全面的指导。 一、数据库设计 在开始修改数据库之前,理解...

    深入解析:数据库中不可或缺的主键

    1. **单字段主键**:这是最常见的一种主键类型,使用单一字段作为主键。例如,一个员工表中的员工编号可以作为单字段主键。 2. **复合主键**:当单个字段不足以唯一标识一行数据时,可以使用多个字段组合成一个复合...

    解决Sqlserver2008(sql2008)修改数据表数据类型或主键后,提示无法保存,失败的问题!.doc

    在SQL Server 2008 (包括R2版本)中,有时用户在尝试修改数据表的数据类型或主键设置后,会遇到一个错误提示,表明无法保存所做的更改,导致操作失败。这个问题通常与数据库设计者的一项默认设置有关,即“阻止保存...

    数据库,索引,主键,约束,sql

    在数据库中,索引、主键和约束是至关重要的概念,而SQL(Structured Query Language)则是与数据库交互的语言。 首先,索引是提高数据库查询速度的关键工具。它们类似于书籍的目录,使得数据库能够快速定位到特定的...

    创建和修改自定义的数据库

    创建和修改自定义的数据库是一项关键技能,对于数据分析、应用程序开发和信息系统的维护至关重要。本篇将深入探讨如何进行自定义数据库的创建与修改。 首先,我们需要了解数据库的基本概念。数据库是一个有组织的...

    双主键表从复

    3. **修改主键**:修改双主键表可能涉及到主键字段的调整,比如增加、删除或更改主键字段。这需要特别小心,因为任何改变都可能破坏现有数据的唯一性和完整性约束。 4. **数据库约束**:在数据库管理系统中,主键是...

    数据库技术与应用 主键约束-A学习任务书.doc

    - 一旦数据插入,主键值不应更改,否则可能导致数据关联的混乱。 - 如果主键值丢失或违反唯一性,可能需要更新相关联的表,以保持数据的一致性。 通过理解并熟练掌握主键约束,电子信息工程技术专业的学生能够更...

    mysql修改自增长主键int类型为char类型示例

    例如,如果业务需求变为使用16字符的UUID作为主键,那么将主键类型改为CHAR(36)是必要的。在进行任何操作之前,确保你有足够的理由进行这种更改,因为它可能会影响到关联的表、视图、索引和其他依赖项。 接下来,...

    各种类型数据库的死锁问题

    本文将从数据库死锁的定义、类型、解决方案等方面进行详细的介绍。 一、数据库死锁的定义 数据库死锁是指在多个事务同时访问共享资源时,出现的循环等待状态。这种情况下,事务之间形成了一个环形等待关系,使得...

    MySQL数据库PDF文档

    数据库是一个按照数据结构来组织、存储和管理数据的仓库,存储了大量有组织的数据,可以在其中快速地查找、增加、删除和修改数据。数据库管理系统(DBMS)是一套独立可运行的管理数据库的软件,用于维护磁盘上的数据...

    创建和修改自定义的数据库(5KB)...

    创建数据库通常涉及定义表结构,包括字段名、数据类型、长度、是否为主键等属性。在VB中,可以使用DAO(Data Access Objects)或ADO(ActiveX Data Objects)来创建数据库对象并操作它们。例如,使用DAO的`Database...

    数据库技术与应用 设置学生表主键约束-A学习任务书.doc

    3. 主键一旦设定,不应轻易更改,因为这可能导致依赖于主键的其他表结构和索引出现问题。 4. 如果表已有数据,设置主键约束时需确保所有数据都符合主键约束条件,否则设置会失败。 通过完成这个学习任务,你将深入...

    国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表

    在创建表时,学生需要设计表结构,包括字段类型、主键约束、外键约束等。例如,在汽车配件表 Autoparts 中,学生需要设置汽车配件编号(主键)和分类编号(外键),以及其他字段类型和约束。 本实验训练旨在让学生...

    C#创建ACCESS数据库和数据表

    C#创建ACCESS数据库和数据表是指使用ADOX(ActiveX Data Objects Extensions)创建Access数据库和表的过程,ADOX是一种COM组件,提供了一些对象模型,用于创建、修改和管理Access数据库和表。下面是创建Access数据库...

    数据完整性、主键和外键、数据类型

    - 选择标准:选择作为主键的字段应具有唯一性,并且不易更改。 - 实现方式:在SQL Server中可以通过定义PRIMARY KEY约束来实现。 - **外键**: - 定义:外键是指在一个表中引用另一个表主键的字段。 - 功能:...

    数据库主外键详解

    下面将详细介绍数据库主外键的概念、创建方法、约束类型、操作命令等。 数据库主键 数据库主键(Primary Key)是表中的一个或多个字段,它们的值是唯一的,用于标识表中的每一条记录。主键可以是一个字段,也可以...

Global site tag (gtag.js) - Google Analytics