Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 重置自动增量_Sql_Sql Server_Tsql_Auto Increment - Fatal编程技术网

Sql 重置自动增量

Sql 重置自动增量,sql,sql-server,tsql,auto-increment,Sql,Sql Server,Tsql,Auto Increment,我的问题从这里开始: 因此,如果在删除表行后必须按此方式重置自动增量: 我第一次处理T-SQL扩展和SQL。这里出了什么问题,不确定我是否正确: CREATE TABLE [dbo].[Tab1] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Phrase] TEXT NOT NULL, PRIMARY KEY CLUSTERED ([Id] ASC) ); SELECT MAX( Id ) FROM [Tab1] ; ALTER

我的问题从这里开始:

因此,如果在删除表行后必须按此方式重置自动增量:

我第一次处理T-SQL扩展和SQL。这里出了什么问题,不确定我是否正确:

CREATE TABLE [dbo].[Tab1] (
    [Id]     INT  IDENTITY (1, 1) NOT NULL,
    [Phrase] TEXT NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

SELECT MAX( Id ) FROM [Tab1] ;
ALTER TABLE Tab1 AUTO_INCREMENT = number; 
出现以下错误:

严重性代码说明项目文件行抑制状态错误 SQL80001:附近的语法不正确。应为“.”、ID或带引号的\u ID。 dbo.User 8

以及:

SeverityCode说明项目文件行抑制状态错误 SQL80001:附近的语法不正确。dbo.User 7

MYSQL

MSSQL,以防有人需要它

CREATETABLE语法还可以,但在创建自动增量列时,可以这样添加它

CREATE TABLE [dbo].[User] (
    [Id]     INT NOT NULL AUTO_INCREMENT PRIMARY KEY, // Set column as primary key and auto increment
    [Phrase] TEXT NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);
从[用户]中选择最大Id;//您忘记了这部分中的括号,users是TSQL中的保留字

MSSQL,以防有人需要它

CREATETABLE语法还可以,但在创建自动增量列时,可以这样添加它

CREATE TABLE [dbo].[User] (
    [Id]     INT NOT NULL AUTO_INCREMENT PRIMARY KEY, // Set column as primary key and auto increment
    [Phrase] TEXT NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

从[用户]中选择最大Id;//您忘记了这部分中的括号,Useris是TSQL中的保留字。如果您想重新设定为不同的号码,您可以使用以下命令:

dbcc checkident(tab1, reseed, 100)

如果要重新设定为不同的号码,可以使用以下选项:

dbcc checkident(tab1, reseed, 100)


您是否正在实际运行ALTER TABLE User AUTO_INCREMENT=number;或者用从第一个查询中找到的值(MAXid)替换number?不是每个SQL都是相同的。在尝试随机操作并祈祷它们能正常工作之前,请务必确保。在每次删除行后重置自动增量对我来说是个坏主意。如果在每次删除行后重置自动增量,则说明您做错了。如果不需要自动增量列,请不要使用自动增量列。如果您确实需要它,请停止自己管理它,让DB来做这就是名称中的“自动”的含义。自动递增并不意味着我在代码中管理自己的值;这意味着DB在插入行时自动管理的值。请修复您的标记:t-sql是sql Server的sql版本请参见hover上的标记说明,但您也谈到了MySql-它是哪一个?你的问题中也没有C,你真的在运行ALTERTABLE User AUTO_INCREMENT=number;或者用从第一个查询中找到的值(MAXid)替换number?不是每个SQL都是相同的。在尝试随机操作并祈祷它们能正常工作之前,请务必确保。在每次删除行后重置自动增量对我来说是个坏主意。如果在每次删除行后重置自动增量,则说明您做错了。如果不需要自动增量列,请不要使用自动增量列。如果您确实需要它,请停止自己管理它,让DB来做这就是名称中的“自动”的含义。自动递增并不意味着我在代码中管理自己的值;这意味着DB在插入行时自动管理的值。请修复您的标记:t-sql是sql Server的sql版本请参见hover上的标记说明,但您也谈到了MySql-它是哪一个?你的问题中也没有C。TSQL?这个问题是关于MySql的。原始问题对于它是什么非常困惑。创建表语法基本上是相同的。这是一个困惑的问题。仍然不确定他是在尝试创建新表还是只是在现有表上重置自动增量。@MolC MSSQL指的是Microsoft SQL Server。MySQL是另一个不兼容的数据库。它不是从Mycrosoft来的。它们有不同的命令、语法和许多其他非常重要的差异。你用哪一种?您收到的错误建议使用Microsoft SQL Server.TSQL?这个问题是关于MySql的。原始问题对于它是什么非常困惑。创建表语法基本上是相同的。这是一个困惑的问题。仍然不确定他是在尝试创建新表还是只是在现有表上重置自动增量。@MolC MSSQL指的是Microsoft SQL Server。MySQL是另一个不兼容的数据库。它不是从Mycrosoft来的。它们有不同的命令、语法和许多其他非常重要的差异。你用哪一种?您收到的错误表明是Microsoft SQL Server。