Die Tabelle wird nicht erstellt oder geändert.
Es gibt einen Fehler im AUTO_INCREMENT-Teil der Anweisung.
Es sollte die Tabelle erstellen oder aktualisieren.
Es sollte keinen Fehler geben.
Statt AUTO_INCREMENT zu verwenden, erfordert SQL Server IDENTITY(1,1).
Die erste Zahl in Klammern ist der Startwert, die zweite die Schrittweite.
Beispiel:
TABELLE ERSTELLEN Personen (
ID int IDENTITÄT (1,1) PRIMÄRSCHLÜSSEL,
Name varchar(255) NOT NULL
);
Ist das eine große Veränderung? Wäre es einfach für eine erste PR?
Ich habe das gleiche Problem.
Gibt es eine Lösung für dieses Problem?
Oh Gott! Es ist 2020 und das ist noch offen. Bitte Leute, behebt das so schnell wie möglich.
FYI: Ich verwende HeidiSql v10.3
Passiert heute auch dazu. Einer der einzigen Gründe, warum ich SSMS öffnen muss :(
Hier ist ein Skript zum Generieren einer Tabelle auf MS SQL 12.0.5223.6, das das Problem veranschaulicht:
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 erkennt den Primärschlüssel nicht:
Hier ist ein Skript, das Primärschlüsselindizes auf MS SQL auswählt (wahrscheinlich nicht sehr frühe Versionen von 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]