1. sql刪除自增長主鍵
有3種方法
truncate table 『你自己的表名稱』
--刪除該表所有的數據
刪除該表重新建
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;