Tweets por @_rabin_
lunes, enero 07, 2008


... ya solo como anécdota y x si a alguno de los visitantes le pica la curiosidad... Recordais el post en el que había puesto una imagen de una exception de visual studio 2005?, bien el fallo estaba en la creación de la tabla en el servidor SQL 2005... Mas info:
Cuando creo una tabla en sql el código es este:

USE PruebaBaseDatos
GO
Create schema Prueba
GO
Create table Prueba.PruebaTabla
(
Id int IDENTITY(1,1) NOT NULL,
...
CONSTRAINT PK_IdPrueba PRIMARY KEY CLUSTERED(Id)
)
el campo id es clave primaria de tabla y autoincrementable de 1 en 1... hasta aki todo normal, el problema aparece cuando se te ocurre añadir después del valor del autoincrementable NOT NULL, algo obvio desde el punto de vista de la lógica humana (o semi humana) pero que devuelve un error desde visual studio sin mucho sentido:
"Aunque el campo acepte valores null debe tener un valor predeterminado" (eiiiiinnnnn!!! o_O')
con este mensaje lo k no se te ocurre es que la clave primaria está cascando (primary key autoincrementable de 1 en 1 nunca puede tomar valores null) asik después de comprobar campo a campo uno flipa cuando resulta que la k casca es la primary key y que el mensaje k devuelve el visual studio es, casi k 100%, una puta mala traducción... Conclusión, la forma correcta de hacerlo es:

USE PruebaBaseDatos
GO
Create schema Prueba
GO
Create table Prueba.PruebaTabla
(
Id int IDENTITY(1,1),
...
CONSTRAINT PK_IdPrueba PRIMARY KEY CLUSTERED(Id)
)

... sombrios han sido mis sueños en estos ultimos días...

Etiquetas:



1/07/2008 11:17:00 a. m. 0 Comentarios





Perfil en facebook






El polaco ingles