![]() |
Problema al crear una llave primaria
Buenas noches, agradezco su colaboración para determinar que puedo estar haciendo mal o para saber si existe alguna restricción para crear llaves primarias con campos smallint.
Cree una base de datos con la siguiente estructura Código:
CREATE DATABASE 'localhost:C:\BDSIDUTEC\SIDUTEC3.fdb' Código:
ALTER TABLE TIPOS_IDENTIFI ADD CONSTRAINT PK_COD_TIP_IDE PRIMARY KEY (COD_TIP_IDE); Código:
Engine Error (code = 335544351): Código:
ALTER TABLE TIPOS_IDENTIFI ADD CONSTRAINT PK_COD_TIP_IDE PRIMARY KEY (NOM_IDENTI); Mil gracias por la ayuda que me puedan brindar, estoy trabajando con Firebird 2.5.1., Firebird Maestro 14 y Windows 7 Profesional de 32 bits. |
No sé si es algo nuevo, pero nunca había visto ese array:
CREATE DOMAIN ENT_CORTO AS SMALLINT [0:32767]; Lo normal: CREATE DOMAIN ENT_CORTO AS SMALLINT; |
1. Si quieres declarar un array en firebird (aunque no es usual, y hasta sus propios desarrolladores desaconsejan su uso) la cosa es: Tipo [tamaño] mientras que tu haces Tipo [0:tamaño]
2. Tener un array como clave primaria no es legal. 3. El error justamente te dice que no está permitido. 4. Lee la Release Notes y la documentación de Firebird. |
Por lógica una clave primaria deber unica, y un arreglo rompe esa regla.
Enviado desde mi SM-G900H mediante Tapatalk |
Mil gracias por la colaboración, efectivamente el error fue mio, al crear el dominio le defini el arreglo y le puse los limites que aparecen en la definición.
Ya corregi borrando el dominio y volviendo a crearlo sin el arreglo y los limites ingresados. |
La franja horaria es GMT +2. Ahora son las 21:50:56. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi