Unikátna hodnota   zodpovězená otázka

SQL

Dobrý deň, s SQL Serverom zatiaľ nemám žiadne skúsenosti, doteraz som pracoval hlavne v MySQL tak sa ospravedlňujem za primitívny dotaz ale ako zabezpečiť aby mal stĺpec vždy unikátnu hodnotu. A v opačnom prípade aby sa pri vkladaní riadku vyhodila výnimka? Stĺpec je typu ntext.

skúšal som toto: ALTER TABLE tabulka UNIQUE(stlpec)

ale nefunguje to.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Správná syntaxe pro vytvoření unique indexu je:

create unique nonclustered index IX_tabulka_stlpec on tabulka (stlpec)

Pro typ ntext, ale nelze klíč založit. Musel by to být nvarchar.

Viz SQL Server Books OnLine:

Columns that are of the large object (LOB) data types ntext, text, varchar(max), nvarchar(max), varbinary(max), xml, or image cannot be specified as key columns for an index. Also, a view definition cannot include ntext, text, or image columns, even if they are not referenced in the CREATE INDEX statement.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen doplním, že maximální velikost součtu polí v rámci jednoho indexu je 900bytů. Proto nelze indexovat ntext a další datové typy s délkou, která může tuto hodnotu přesáhnout.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback