sql >> Databasteknik >  >> RDS >> Sqlserver

är av en typ som är ogiltig för användning som nyckelkolumn i ett index

En unik begränsning kan inte vara över 8 000 byte per rad och kommer bara att använda de första 900 byten även då, så den säkraste maximala storleken för dina nycklar skulle vara:

create table [misc_info]
( 
    [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, 
    [key] nvarchar(450) UNIQUE NOT NULL, 
    [value] nvarchar(max) NOT NULL
)

dvs nyckeln får inte vara över 450 tecken. Om du kan byta till varchar istället för nvarchar (t.ex. om du inte behöver lagra tecken från mer än en teckentabell) kan det öka till 900 tecken.



  1. SQL 'LIKE BINARY' något långsammare än vanligt 'LIKE'?

  2. SQL Server räkna antalet distinkta värden i varje kolumn i en tabell

  3. Oracle kopiera data till en annan tabell

  4. Få n grupperade kategorier och summera andra till en