`
ytuwlg
  • 浏览: 94473 次
  • 性别: Icon_minigender_1
  • 来自: 威海
社区版块
存档分类
最新评论

将已有列改为自增列

阅读更多
  select   *   into   tmp   from   t   
  //将数据放入临时表
  alter   table   t   drop   column   id   
  alter   table   t   add   id   int   identity(1,1)   
  set   identity_insert   t   on   
  insert   into   t(id,col1,col2)   select   id,col1,col2   from   tmp
  //这里不能用*,要指定列才行   
  set   identity_insert   t   off   
  drop   table   tmp
分享到:
评论

相关推荐

    sqlserver在有数据情况下修改主键为自增1

    sqlserver在有数据情况下修改主键为自增 网上方法都有缺陷 自己写了一个版本,欢迎大家参考,不好用吗,大家都不评价

    Oracle使用序列创建自增字段

    假设有一个员工表 `T_EMPLOYEE` 需要一个自增的 ID 字段,我们可以这样使用序列: ```sql INSERT INTO T_EMPLOYEE (ID, NAME, ORDER) VALUES (SEQ_EMP.NEXTVAL, 'WANG', 100); ``` 此外,还可以通过触发器来自动为...

    pgsql创建自增ID,建表,创建索引,创建分区表.txt

    pgsql创建自增ID,建表,创建索引,创建分区表

    得到自增列的下一个会插入的id

    - 自增列是数据库管理系统中一种特殊的数据类型,如在SQL Server、MySQL等中,用于确保每条记录都有一个唯一的标识。 - 当新数据插入表时,自增列的值会自动增加,无需用户手动设置。 - 自增列通常作为主键,确保...

    设置db2 字段自增长

    如果表已经存在并且需要将某个字段修改为自增长,则可以使用以下命令: ```sql ALTER TABLE <table_name> ALTER COLUMN <column_name> SET GENERATED ALWAYS AS IDENTITY (START WITH , INCREMENT BY ); ``` 例如,...

    SQL Server 打开或关闭自增长

    在数据导入过程中,这通常是非常有用的,比如当你从其他源导入已带有自增列值的数据,或者你需要保持与原有系统一致的序列号时。但是,需要注意的是,频繁地打开和关闭自增长可能导致数据一致性的问题,因此在完成...

    python中为什么没有自增或者自减

    在Python编程语言中,我们不会找到像C或C++中的自增(`i++`)或自减(`i--`)操作符。这是因为Python的设计哲学和内部机制与这些传统的编译型语言有所不同。下面我们将深入探讨这个问题。 首先,让我们了解一下Python中...

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

    在某些情况下,由于业务需求的变化,我们可能需要将已有的自增长整数(int)主键更改为字符型(char)主键。这涉及到对表结构的修改,而如果表中已有数据,我们就不能简单地删除表再重建,必须通过一系列SQL语句来...

    mysql中自增auto_increment功能的相关设置及问题

    要修改这些设置,可以使用`SET`语句,比如`SET auto_increment_increment=10`将自增步长设置为10,而`SET auto_increment_offset=2`将初始值设定为2。请注意,如果`auto_increment_offset`的值大于`auto_increment_...

    Oracle创建自增字段sequence

    修改已有的序列可以使用`ALTER SEQUENCE`命令,删除序列则使用`DROP SEQUENCE`命令。例如,要更改序列的增量,可以执行: ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 2; ``` 要删除序列: ```sql DROP ...

    如何在mysql中为现有表创建新列?

    例如,`NOT NULL`约束强制该列的值不能为空,`AUTO_INCREMENT`用于自增列。 5. **执行ALTER TABLE语句**: 在MySQL客户端,如MySQL Workbench或命令行工具中,你可以输入ALTER TABLE语句并执行,来完成新列的添加...

    关于Mysql自增id的这些你可能还不知道

    1. **为什么建议将自增列设为主键?** - 当我们将自增列设为主键时,InnoDB存储引擎会使用这个主键构建聚集索引,这意味着数据记录会直接存储在主索引的叶子节点上。自增ID确保新插入的数据按顺序添加,避免了插入...

    mysql如何让自增id归0解决方案

    这种方法不会清除已有数据,因此在你想要保留部分数据或仅重置自增ID的情况下非常有用。同时,它允许你在删除大量连续行后重新设置自增值,以便插入新的数据,而不会与现有的ID发生冲突。 在实际应用中,应谨慎处理...

    Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍

    Oracle还提供了`ALTER SEQUENCE`来修改已有的序列。例如,要更改`INCREMENT BY`和`CYCLE`选项: ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE NOCACHE; ``` 这将使序列在达到`...

    SQL Server 中调整自增字段的当前初始值

    如果已有记录,那么下一次插入的行将使用`new_reseed_value + 1`。需要注意的是,如果`new_reseed_value`小于标识列中的最大值,后续引用该表时会导致错误。 在处理自增字段时,要特别注意保持一致性,尤其是在跨...

    SQL Server 2000程序设计

    例如,可以添加一个“入学总分”列,删除“专业名”列,或者将“学号”字段从`int`类型改为`char(6)`并设置为非空。 5. **查看表属性**:使用系统存储过程`sp_help`可以查看表的详细信息,包括结构、索引、权限等。...

    第13章_约束1

    重命名birth字段为employee_birth,修改sex字段的数据类型为CHAR(1)并设置非空约束,删除note字段,新增favoriate_activity字段,以及将表名从employees改为employees_info。 总的来说,这些练习和例子展示了在SQL...

    MySQL中不能创建自增字段的解决方法

    可以将上述行改为: ``` #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" ``` 注:使用井号(#)在前面可以将行注释掉,...

    分布式数据库-信创数据库-国产数据库与传统mysql的兼容性测试案例

    - 表结构复制:检查复制已有表结构到新表的能力。 - 创建临时表:测试临时表的创建、使用和销毁。 - 分区表创建:测试不同类型的分区表(范围、HASH、LIST、key等)的创建。 - 视图创建:验证创建和使用视图的功能。...

    MYsql命令大全(详细)

    `ALTER TABLE`命令还可以改变已有列的定义,如`ALTER TABLE USERINFO CHANGE id idnew varchar(12) default null;` 将USERINFO表中的id列更改为idnew,长度为12,允许为空。 11. **删除字段**: 使用`ALTER TABLE...

Global site tag (gtag.js) - Google Analytics