No crea ni modifica la tabla.
Da un error en la parte AUTO_INCREMENT de la declaración.
Debe crear o actualizar la tabla.
No debe dar error.
En lugar de usar AUTO_INCREMENT, el servidor SQL requiere IDENTIDAD (1,1).
El primer número entre paréntesis es el valor inicial, el segundo es el incremento.
Ejemplo:
CREAR TABLA Personas (
ID int IDENTIDAD(1,1) CLAVE PRINCIPAL,
Nombre varchar(255) NO NULO
);
¿Es esto un gran cambio? ¿Sería fácil para un primer PR?
Tengo el mismo problema.
¿Hay una solución a este problema?
¡Oh Dios! Es 2020 y esto sigue abierto. Chicos, arreglen esto lo antes posible.
FYI: estoy usando HeidiSql v10.3
También me encuentro con esto hoy. Una de las únicas razones por las que tengo que abrir SSMS :(
Aquí hay un script para generar una tabla en MS SQL 12.0.5223.6 que ilustra el problema:
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 no detecta la clave principal:
Aquí hay una secuencia de comandos que selecciona índices de clave principal en MS SQL (probablemente no en versiones muy tempranas de 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]