webForumDet fria alternativet
Logga in / Bli medlem

create table

Databaser & SQL

2 svar · 265 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Vad betyder detta, vad har jag gjort för fel?

Warning: The table 'Articletbl' has been created but its maximum row size
 (16042) exceeds the maximum number of bytes per row (8060). 
INSERT or UPDATE of a row in this table will fail if the resulting 
row length exceeds 8060 bytes.

CREATE TABLE [User].[Articletbl] (
	[Articleid] [int] IDENTITY (1, 1) NOT NULL ,
	[Title] [nvarchar] (4000) COLLATE Finnish_Swedish_CI_AS NULL ,
	[Notes] [nvarchar] (4000) COLLATE Finnish_Swedish_CI_AS NULL ,
	[Appear] [int] NOT NULL ,
	[Active] [bit] NOT NULL ,
	[Regdate] [datetime] NULL 
) ON [PRIMARY]
GO
Medlem sedan dec. 200012 464 inlägg
#2

Den maximala längden för en post i en tabell i SQL server är 8060 bytes. (Om man bortser från text/image som bara delvis lagras i posten.)

Det går att skapa tabeller med större postlängd än 8060 om de innehåller kolumner med variabel längd (varchar), men det går då inte att lagra väden där alla kolumner är helt utfyllda.

För att slippa meddelandet så kan du ju minska längden på någon kolumn.

Medlem sedan juni 20003 076 inlägg
#3

Aha, det är alltså för att jag har både Title och Notes som nvarchar 4000?

395 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
120 ms — deklarationer (db)
130 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)