Itu tidak membuat atau memodifikasi tabel.
Ini memberikan kesalahan pada bagian AUTO_INCREMENT dari pernyataan.
Itu harus membuat atau memperbarui tabel.
Seharusnya tidak memberikan kesalahan.
Alih-alih menggunakan AUTO_INCREMENT, SQL server memerlukan IDENTITY(1,1).
Angka pertama di antara tanda kurung adalah nilai awal, yang kedua adalah kenaikannya.
Contoh:
BUAT TABEL Orang (
ID int IDENTITAS(1,1) KUNCI UTAMA,
Nama varchar(255) NOT NULL
);
Apakah ini perubahan besar? Apakah akan mudah untuk PR pertama?
Saya mendapat masalah yang sama.
Apakah ada solusi untuk masalah ini?
Ya Tuhan! Ini tahun 2020 dan ini masih buka. Tolong guys, perbaiki ini secepatnya.
FYI: Saya menggunakan HeidiSql v10.3
Juga mengalami ini hari ini. Satu-satunya alasan saya harus membuka SSMS :(
Berikut adalah skrip untuk menghasilkan tabel pada MS SQL 12.0.5223.6 yang menggambarkan masalah:
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 tidak mendeteksi kunci utama:
Berikut adalah skrip yang memilih indeks kunci utama pada MS SQL (mungkin bukan versi MS SQL yang terlalu awal):
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]