Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

MySQL vs. tabla 'paciente'

Estas en el tema de MySQL vs. tabla 'paciente' en el foro de Mysql en Foros del Web. Hola gente, mi problema es el siguiente: Esta es mi tabla 'paciente': Código PHP: CREATE TABLE  ` paciente ` (     ` id `  int NOT NULL AUTO_INCREMENT ,     ` ap1 ...
  #1 (permalink)  
Antiguo 14/10/2008, 09:27
Avatar de axelyaa  
Fecha de Ingreso: noviembre-2007
Ubicación: Uruguay
Mensajes: 69
Antigüedad: 16 años, 4 meses
Puntos: 1
MySQL vs. tabla 'paciente'

Hola gente, mi problema es el siguiente:

Esta es mi tabla 'paciente':
Código PHP:
CREATE TABLE `paciente` (
    `
idint NOT NULL AUTO_INCREMENT,
    `
ap1varchar(100NOT NULL,
    `
ap2varchar(100NOT NULL,
    `
nomvarchar(100NOT NULL,
    `
ciint(8NOT NULL,
    `
direcvarchar(100NOT NULL,
    `
telint(20NOT NULL,
    `
celint(20NOT NULL,
    `
fecha_nacdate NOT NULL,
    `
obsvarchar NOT NULL,
    
PRIMARY KEY(`ci`, `id`)
); 
y esta mi tabla 'medicos':
Código PHP:
CREATE TABLE `medicos` (
    `
idint NOT NULL AUTO_INCREMENT,
    `
med_codeint(20NOT NULL,
    `
ap1varchar(100NOT NULL,
    `
ap2varchar(100NOT NULL,
    `
nomvarchar(100NOT NULL,
    `
ciint(8NOT NULL,
    `
telint(20NOT NULL,
    `
celint(20NOT NULL,
    `
espvarchar(15NOT NULL,
    
PRIMARY KEY(`med_code`, `ci`, `id`)
); 
Aca les va lo curioso:

Pacientes da error # 1064 y en medicos se ejecuta perfectamente. Estoy anonadado
No se me ocurre nada.
  #2 (permalink)  
Antiguo 14/10/2008, 09:59
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: MySQL vs. tabla 'paciente'

Cita:
error # 1064
Este número de error indica que tienes un problema con la sintaxis, puedes poner el mensaje completo??

¿que datos guarda el campo ci?
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 14/10/2008, 10:02
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: MySQL vs. tabla 'paciente'

Si reviza bien en la tabla paciente el ultimo campo varchar no tiene tamaño por eso le esta generando el error #1064 que dice.

Saludos
  #4 (permalink)  
Antiguo 14/10/2008, 10:31
Avatar de axelyaa  
Fecha de Ingreso: noviembre-2007
Ubicación: Uruguay
Mensajes: 69
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: MySQL vs. tabla 'paciente'

El espacio vacio en el varchar que decis es porque no quiero restringirlo, quiero que sea infinito. Pero de todas formas, en otra tabla que tengo que se llama 'enfermeria'(que tengo lo mismo que en medicos) le saque el valor de varchar y me funciono bien.

El 'ci' se refiere al numero de identidad nacional de mi pais(cedula de identidad, o documento de identidad)
Este es el resultado de error:

Cita:
MySQL ha dicho: Documentación
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL,
PRIMARY KEY(`ci`, `id`)
)' at line 11
  #5 (permalink)  
Antiguo 14/10/2008, 10:42
Avatar de axelyaa  
Fecha de Ingreso: noviembre-2007
Ubicación: Uruguay
Mensajes: 69
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: MySQL vs. tabla 'paciente'

Epa!!! me funciono, le puse varchar en mayusculas y funciono. Es rarisimo... pero funciono

Gracias!!
  #6 (permalink)  
Antiguo 14/10/2008, 10:54
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: MySQL vs. tabla 'paciente'

Si tu no especificas el tamaño se pondrá el valor máximo en este caso 250

CI si es el número de identidad esta demás usar otro primary key como el ID

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #7 (permalink)  
Antiguo 14/10/2008, 11:08
Avatar de axelyaa  
Fecha de Ingreso: noviembre-2007
Ubicación: Uruguay
Mensajes: 69
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: MySQL vs. tabla 'paciente'

Claro, yo se que esta demas, pero el Id al ser auto-incrementable tenes que especificarlo como primary key.
Al menos a mi me funciono poniendolo de esa forma.

Gracias por tu ayuda.
  #8 (permalink)  
Antiguo 14/10/2008, 11:35
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: MySQL vs. tabla 'paciente'

A lo que voy que el campo ID debe desaparecer de tu tabla, no tiene razón de ser, los IDs autoincrementables están dado para aquellas tablas donde no se desea usar indices descriptivos.
El CI es el único y jamas se repetirá y ese deber la clave primaria

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.