2016-08-26 31 views
1

は、私の質問はここから:How to setup auto increment for Service-Based Databaseリセット自動インクリメント

だから私はテーブルの行を削除した後、自動インクリメントをリセットするためにこの道を行く必要がある場合:私はTに対処している

http://befused.com/mysql/reset-auto-increment

初めて-SQLの拡張と一般的なSQL。私はそれが正しい得た場合必ず、ここで間違っていない。「付近に正しくない構文」:

重大度コード説明プロジェクトファイルの行の抑制状態エラー SQL80001:

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; 

すると、このエラーを得ました。 '。'、ID、またはQUOTED_IDが必要です。 dbo.User 8

と:

SeverityCodeの説明プロジェクトファイルの行の抑制状態エラー SQL80001:付近に正しくない構文 ''。 dbo.User 7

+0

をあなたが実際に 'TABLEユーザーAUTO_INCREMENT =番号をALTER実行しています;'か、値によって「数」を交換していますあなたは最初のクエリ(MAX(id)のもの)から見つけましたか? – Kinetic

+0

すべてのSQLが同じであるとは限りません。無作為に試してみる前に[MySQLのドキュメントを読む](http://dev.mysql.com/doc/refman/5.7/en/)を読んで、うまく動くように祈ってください。 – tadman

+3

行の削除ごとに自動インクリメントをリセットするのは悪い考えです。 – Kinetic

答えて

0

MYSQL

CREATE TABLE Tab1 ( 
    Id INT NOT NULL AUTO_INCREMENT, 
    Phrase TEXT NOT NULL, 
    PRIMARY KEY CLUSTERED (Id ASC) 
); 

ALTER TABLE Tab1 MODIFY COLUMN Id INT AUTO_INCREMENT // To set column as auto increment 

MSSQL(場合、誰かがそれを必要とする)

構文はOKですが、自動インクリメント列を作成してテーブルを作成し、あなたが追加することができますそれはこのようです

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) 
); 

SELECT MAX(Id) FROM [User]; // You forgot the brackets in this part,ユーザーis a reserved word in TSQL

+0

TSQL?質問はMySqlに関するものです。 – Kinetic

+0

@Kinetic元の質問は、それが何であるかについて非常に混乱しています。 – tadman

+0

作成テーブルの構文は基本的に同じ – Sherlock

0

あなたが別の番号に再シードする場合は、以下を使用することができます

dbcc checkident(tab1, reseed, 100) 
+0

本当に私の場合の答えではありませんが、便利です –

関連する問題