テーブルを作成または変更することはありません。
ステートメントのAUTO_INCREMENT部分でエラーが発生します。
テーブルを作成または更新する必要があります。
エラーは発生しません。
AUTO_INCREMENTを使用する代わりに、SQLサーバーにはIDENTITY(1,1)が必要です。
角かっこで囲まれた最初の数字は開始値で、2番目の数字は増分です。
例:
CREATE TABLE Persons(
ID int IDENTITY(1,1)PRIMARY KEY、
名前varchar(255)NOT NULL
);
これは大きな変化ですか? 最初のPRは簡単でしょうか?
同じ問題が発生しました。
この問題の解決策はありますか?
なんてこった! それは2020年であり、これはまだ開いています。 お願いします、これをできるだけ早く修正してください。
参考:HeidiSqlv10.3を使用しています
また、今日これに遭遇します。 SSMSを開かなければならない唯一の理由の1つ:(
問題を説明するMSSQL12.0.5223.6でテーブルを生成するスクリプトを次に示します。
CREATE TABLE [dbo].[User](
[Username] [nvarchar](20) NOT NULL,
[FullName] [nvarchar](50) NOT NULL,
[EmailAddress] [nvarchar](100) NULL,
[LastLoginDate] [datetime] NULL,
[IsAdministrator] [bit] NULL,
[Roles] [int] NOT NULL,
[Id] [int] IDENTITY(1,1) NOT NULL,
[CreatedAt] [datetime2](7) NOT NULL,
[CreatedBy] [nvarchar](20) NOT NULL,
[ModifiedAt] [datetime2](7) NULL,
[ModifiedBy] [nvarchar](20) NULL,
[LastPortfolioId] [int] NULL,
CONSTRAINT [PK__User__536C85E5B3CDBFE3] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[User] ADD DEFAULT (getdate()) FOR [CreatedAt]
GO
ALTER TABLE [dbo].[User] ADD DEFAULT (suser_sname()) FOR [CreatedBy]
GO
HeidiSQL 10.3.0.5838は主キーを検出しません:
MS SQLの主キーインデックスを選択するスクリプトは次のとおりです(おそらくMS SQLの非常に初期のバージョンではありません)。
select schema_name(tab.schema_id) as [schema_name],
tab.[name] as table_name,
pk.[name] as pk_name,
col.name as col_name
from
sys.tables tab
left outer join sys.indexes pk on tab.object_id = pk.object_id and pk.is_primary_key = 1
left join sys.index_columns ic on ic.index_id = pk.index_id and ic.object_id = tab.object_id
inner join sys.columns col on ic.object_id = col.object_id and ic.column_id = col.column_id
order by schema_name(tab.schema_id),
tab.[name]