當前位置:首頁 » 編程語言 » sql取消主鍵自增
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql取消主鍵自增

發布時間: 2022-05-01 20:54:11

1. sql刪除自增長主鍵

有3種方法

  1. truncate table 『你自己的表名稱』

    --刪除該表所有的數據

  2. 刪除該表重新建

  3. dbcc checkident(『你的表名稱』, reseed, 1)

2. 如何用sql語句去掉主鍵的自增長屬性

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_DropIDENTITY]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_DropIDENTITY]
GO

/*--標識列轉換為普通列

採用修改標識列名,然後按新規則重列的方法處理
只適用於標識列沒有與其他對象有關聯的表
轉換後,列的相關對象也不會恢復
有一定的局限性,僅供參考

--鄒建 2005.05(引用請保留此信息)--*/

/*--調用示例

EXEC p_DropIDENTITY 'tb'
--*/
CREATE PROC p_DropIDENTITY
@TableName sysname --要處理的表名
AS
IF ISNULL(OBJECTPROPERTY(OBJECT_ID(@TableName),N'IsUserTable'),0)=0
BEGIN
RAISERROR('"%s" 必須是當前資料庫中已經存在的用戶表',12,16,@TableName)
RETURN
END

--標識列轉換處理檢查
DECLARE @s nvarchar(1000),@FieldName sysname,@bkFieldName sysname,@sql nvarchar(4000)
SELECT @FieldName=QUOTENAME(c.name),
@bkFieldName=CAST(NEWID() as char(36)),
@s=@FieldName+N' '+QUOTENAME(t.name)
+CASE WHEN t.name LIKE '%int' THEN N''
ELSE N'('+CAST(c.prec as varchar)
+N','+CAST(c.scale as varchar)+N')'
END
FROM sysobjects o,syscolumns c,systypes t
WHERE o.name=@TableName
AND o.id=c.id
AND c.xusertype=t.xusertype
AND c.status=0x80
IF @@ROWCOUNT=0
BEGIN
RAISERROR(N'表 "%s" 中無標識列',1,16,@TableName)
RETURN
END

--修改標識列名
SET @sql=QUOTENAME(@TableName)+N'.'+@FieldName
EXEC sp_rename @sql,@bkFieldName,N'COLUMN'

--轉換為標識列處理
SELECT @TableName=QUOTENAME(@TableName),
@bkFieldName=QUOTENAME(@bkFieldName)
EXEC('ALTER TABLE '+@TableName+N' ADD '+@s)
EXEC('UPDATE '+@TableName+N' SET '+@FieldName+N'='+@bkFieldName+N'
ALTER TABLE '+@TableName+N' DROP COLUMN '+@bkFieldName)
RAISERROR(N'表 "%s" 中的標識列 "%s" 已經轉換為普通列',1,16,@TableName,@FieldName)
GO

3. 如何修改sql server主鍵自動增長

你這個表與別的表有沒有什麼關聯?
也就是它的主鍵是不是別的表的外鍵?
如果這個表,與別的表,沒有任何關聯,是很好修改的。如果有關聯,我個人感覺,很難改。
如果沒有關聯。
你可以新建一張表b,然後主鍵從1開始,然後把a表的數據一次性跟新過去,然後把a表刪除,把b表的表名,修改成a,就可以了。

4. SQL自增欄位,有數據刪除後,如何實現自增欄位的連續

對於自增欄位確實有這個問題,也無法改變,這是由於自增欄位的值是內部計算,每使用一次都會自動+1,有點類似線序,你可以使用如下兩種方法解決:
1、自增欄位改為不用手工增加,每次都取最大值+1來存儲
2、不改自增欄位類型,採用邏輯刪除的方法,比如在表中增加一個欄位isdel(1表示已刪除,0或者其它值表示沒有刪除),記錄當前記錄是否屬於刪除狀態,

5. SQL 我想問問,我想讓主鍵不遞增,sql語句應該怎麼寫

不用寫,有個手動的點一下就行了,是自動遞增1的
選擇了主鍵那行,看下面就有設置

6. sql語句如何刪除主鍵

(1)如圖:刪除下面uid主鍵
語句:ALTER
TABLE
`6h_360_pay`
DROP
PRIMARY
KEY;
」6h_360_pay「是表名;
(2)如下圖,再創建一個長度為11的int的類型、自增、且不為空的欄位id為主鍵
語句:ALTER
TABLE
`6h_360_pay`ADD
COLUMN
`id`
int(11)
NOT
NULL
AUTO_INCREMENT
FIRST
,ADD
PRIMARY
KEY
(`id`);

7. sql 導入數據丟失主鍵,自動增長值等信息。怎麼解決啊!

重新設置 ,但導入數據不會丟失主鍵,除非導入到其他庫中,你可以通過先建表後,再導入解決

8. 如何刪除資料庫主鍵自動增長

我用的是sql2000,找到你所建立的表,然後右擊選擇設計表。選擇你需要設置主鍵的那一行,將標識選擇為否即可。如圖:

9. sql主鍵列自增問題

環境:sql
server
2008
問題:設置主鍵和把它設為自增。
解決:點擊table->選中表->design->選中需要設置主鍵的欄位,單擊右鍵"設置主鍵"即可。
若要設置主鍵自增,在列屬性中找到標識規范,單擊左邊的"+"號,把否改為是,其他默認即可。

10. 在mysql中,主鍵自增怎麼去掉

比如說 test表的id列自增,刪除自增的sql如下
alter table test change id id int;