| |||
my_sql? Mysql no dispone de soporte para claves foráneas .. sobre todo para las tablas standars: MyIsam .. si que las soporta en tablas Inondb .. o bien te esperas a la versión Mysql 4.1.x en adelante que ya está previsto el soporte de claves foráneas y varias cosas más como "store procedures" y no recuerdo si llegarán a "triggers" también .. En cualquier caso .. esto es pregunta del foro de "Base de datos" .. así que para allá vá para que te orienten al respecto. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Se puede utilizar claves ajenas en MySQL utilizando un tipo de tabla especial, las tablas InnoDB. Acá va un ejemplo: Create Table Provincias ( id int(2) not null auto_increment, nombre char (20) not null, primary key (id), unique i1 (nombre) #este indice no es necesario, solo sirve para no ingresar 2 provincias iguales )Type=InnoDB; #a lo ultimo tenes que indicar el tipo de tabla Create Table Clientes ( dni int(8) not null , nombre char (20) not null, apellido char(20), provincia int(2), primary key (dni), index i1 (provincia), #acá SI es necesario el indice, si no pones este indice te va a dar un error al declarar esta tabla foreign key (provincia) references provincias(id) on delete set null on update set null )Type=InnoDB; en la opción on delete y on update podes ponerle las opciones set null, cascade o restrict. Creo que por defecto usa restrict. Espero que te haya servido. Saludos, Santiago. Paraná-Entre Ríos-Argentina. |