maomelov Posted February 26, 2012 Report Share Posted February 26, 2012 Boa noite, Executei a query abaixo para criar a tabela editoras mas surgiu-me um erro que nao percebo o que poderá ser. Julgo que tem a ver com os campos do tipo UNIQUE. A mensagem de erro menciona que nao é possivel criar a constraint..?! Será que alguém pode dar uma ajudinha? obrigado a todos create table tb_editoras ( id_editora int primary key identity (1,1), nome nvarchar(1000) not null, morada nvarchar(1000) not null, codigo_postal nchar(8) not null, localidade nvarchar(1000) not null, telefone nvarchar(16) not null unique, email nchar(1000) unique, website nvarchar(1000), responsavel_contacto nvarchar(1000) ) go erro: Msg 1944, Level 16, State 1, Line 1 Index 'UQ__tb_edito__AB6E6164117F9D94' was not created. This index has a key length of at least 2000 bytes. The maximum permissible key length is 900 bytes. Msg 1750, Level 16, State 0, Line 1 Could not create constraint. See previous errors. Link to comment Share on other sites More sharing options...
Rechousa Posted February 27, 2012 Report Share Posted February 27, 2012 Viva, Ao introduzires a palavra UNIQUE numa coluna, o que acontece internamente é que é criada uma CONSTRAINT, neste caso com o nome UQ__tb_edito__AB6E6164117F9D94, CONSTRAINT essa que cria uma chave única para cada campo especificado. Ora, pela mensagem de erro, o máximo que podes ter são 900 bytes. Porém, o teu campo email NCHAR(1000) está a ocupar 2000 bytes (porque cada byte UNICODE correspondem a dois bytes "normais"). O teu campo email precisa mesmo de 1000 caracteres? Não será um email muito grande? 😕 Já agora, porque é que estás a utilizar o tipo de dados NCHAR para esse campo e não NVARCHAR? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa Link to comment Share on other sites More sharing options...
maomelov Posted February 27, 2012 Author Report Share Posted February 27, 2012 boa noite, alterei o tipo do campo email para nvarchar e tamanho 100 e funciona. Já reparei que cria as chaves unicas. obrigado pela ajuda Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now