Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/10/2013, 05:53
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: mysql problema en modificaciones de la base de datos

Cita:
Iniciado por skreal Ver Mensaje
Añadi una restriccion para sexo de esta manera:
sexo varchar(1) check (sexo="H" or sexo="M")
El error que especifica es que compruebe que la columna exista error(1091)
Creo que no me coge la restriccion quizas deberia plantear un trigger?

Y de la otra cuestion que me dices me salta error que la variable nombre_alumnos no esta declarada error(1327)

Solo me gustaria orientacion para intentar sacar el resultado como tu dices no voy a pedir que me realiceis la practica, gracias por los consejos
No existen los CHECK en MySQL. No están implementados, y simplemente los ingnorará cuando los pongas en el CREATE TABLE, aunque hacerlo en un ALTER como único cambio, probablemente dispare un error.

Un trigger es una mala idea, no se deberían usar para validaciones. En todo caso esa restricción deberías realizala en la aplicación, y no en la base.

También debes tener en cuenta que para MySQL, usar comilas (") o apóstrofos (') puede ser diferente en función de la confiiguracion de servidor. Normalmente las comillas se usan para encerrar identificadores de objetos de base (columnas, tablas, etc), y no para cadenas de texto, caso para el que aplican los apóstrofos.

Respecto a lo de la variable, pues es correcto, si no la declaraste, o no lo hiciste en el ámbito de existencia de esa sentencia (un SP, o un TRIGGER) no existe.
Sobre eso debemos aclarar que
Cita:
SET @var = 0;
SET var = 0;
son dos variables distintas para MySQL.

Postea el código completo donde estés usando esa sentencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)