![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
No logro que funcionen un FOREIGN KEY
Hola, estoy usando mySQL v4.0.13 para windows, nesecito que las claves foraneas anden, estube lleyedo la DOC y solo es soportado por tablas InnoDB (es asi?)
Me refiero a que no andan en el sentido que no realiza las restricciones que deberia hacer, como ejemplo: libros y editorial CREATE TABLE libro ( nombre char(10) PRIMARY KEY, editorial char(10) REFERENCES editorial (nombre) ON DELETE cascade ON UPDATE cascade #RESTRICT )TYPE=InnoDB; CREATE TABLE editorial ( nombre char(10) PRIMARY KEY )TYPE=InnoDB; La creacion anda, pero cuando inserto la tupla ('The war','Kapeluz') en LIBRO la inserta sin problemas, sindo que 'kapeluz' no existe en editorial. si coloco ('kapeluz') en EDITORIAL y luego la modifico no actualiza los cambios en libros, ni hablar de los borrados en cascada (no los hace). Probe tambien la opcion RESTRICT que supongo que es el equivalente a REJECT del SQL-92, porque REJECT falla. a mysql lo he probado cargar como 'mysqld' y 'mysqld-max' pero no hay cambios. La conexion la estoy haciendo desde ODBC (SQL Explorer) o desde Mysql Control Center. Estoy Haciendo Algo mal? |
|
|
![]() |
|