SQL语句实现取消自增列属性

由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现

1、如果仅仅是指定值插入,可用以下语句,临时取消

SET IDENTITY_INSERT TableName ON
INSERT INTO tableName(xx,xx) values(xx,xx)
SET IDENTITY_INSERT TableName OFF

2、新增一列,删除自增列,修改改列名

alter table a add xxx int
update a set xxx=id
alter table a drop column id
exec sp_rename ‘xxx‘, ‘id‘, ‘column‘

3、通过修改系统关于该表的列属性,该方法使用不当将可能引起其它不可预料的错误

sp_configure ‘allow update‘,1
reconfigure with override
go
update syscolumns set colstat=0 where colstat=1 and id=object_id(‘tablename‘)
go
sp_configure ‘allow update‘,0
reconfigure with override

时间: 2024-10-02 03:09:54

SQL语句实现取消自增列属性的相关文章

MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: Xml代码   <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX

SQL面试题:有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列

.请教一个面试中遇到的SQL语句的查询问题 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列. ------------------------------------------ select (case when a>b then a else b end ), (case when b>c then b esle c end) from table_name [sql] view plain copy drop table

[android] sql语句实现数据库的增删改查

Javaweb实现增删改查的步骤,1.加载jdbc的驱动,2.连接到数据库 3.准备sql语句, Android中加载驱动已经完成了,拿到数据库的引用就是链接数据库了. 获取SQLitedatabase 对象,调用上一节中helper对象的getWritableDatabase()方法 调用SQLitedatabase 对象的execSQL()方法,执行sql语句 例如:insert into person (name) values(”taoshihan”) Select * from per

二、SQL语句映射文件(2)增删改查、参数、缓存

2.2 select 一个select 元素非常简单.例如: Xml代码   <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST

SQL Server中Id自增列的最大Id是多少

什么是自增列 在SQL Server中可以将Id列设为自增.即无需为Id指定值,由SQL Server自动给该列赋值,每新增一列Id的值加一,初始值为1. 需要注意的是即使将原先添加的所有数据都删除,然后新增数据.此时记录的Id依然不会从1开始,而是原先的最大值加1. 自增列的取值范围 一般在定义自增列时,都会指定其数据类型为int类型.而且也只有int类型及其相关数据类型的列可以指定为自增列. 下面是自增列可以使用的数据类型: bigint -2^63 (-9,223,372,036,854,

SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列

分享一道今天的面试题:SQL语句实现:数据库中有A B C三列,当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列 第一种:使用case when...then...else end实现 select (case when a>b then a else b end ),(case when b>c then b esle c end) from 表 具体的实现如下: 1 SELECT Linux, 2 3 MySQL, 4 5 JAVA, 6 7 (case when

PowerDesigner16.5导出SQL语句时如何将name列复制到comment注释里面

很多人都会想在使用PowerDesigner设计完数据库时自动将name列值在输出时自动复制到comment列 运行脚本 Tools->Execute Commands->Edit/Run Scripts(快捷键:Ctrl+Shift+X) VB脚本如下: ' 把pd中那么name想自动添加到comment里面 '如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失. Option Explicit ValidationMode = True Intera

在Eclipse里面通过Sql语句控制SQLite数据库增删改查

package com.xh.tx.dao; import java.util.ArrayList;import java.util.List; import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase; import com.xh.tx.bean.Person;import com.xh.tx.utils.MySQLLiteHelper;

通过SQL语句查看数据库表的列数

看具体是什么数据库,以oracle,mysql,sqlserver分别回答. 1.oracle: 1 select count(*) from user_tab_cols where table_name='表名';--表名含英文的话应为英文大写字母 结果如图: 2.mysql: 1 select count(*) from information_schema.COLUMNS where table_name='表名';--表名大小写均可 结果如图: 3.sqlserver: 1 select