Me pregunto acerca de esta pregunta de prueba. Preparé el ejemplo y lo probé, pero todavía no estoy seguro de la respuesta.MySQL en eliminar cascada. Ejemplo de prueba
Con el siguiente:
CREATE TABLE foo (
id INT PRIMARY KEY AUTO_INCREMENT,
name INT
)
CREATE TABLE foo2 (
id INT PRIMARY KEY AUTO_INCREMENT,
foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)
Por lo que yo puedo ver la respuesta es:
a. Dos tablas se crean
Aunque también hay:
b. Si se elimina una fila en foo2 mesa, con un foo_id de 2, entonces la fila con id = 2 en el foo tabla se elimina automáticamente
D. Si una fila con id = 2 en la tabla se elimina foo, todas las filas con foo_id = 2 en foo2 tabla se eliminan
en mi ejemplo, yo habría usado la sintaxis de borrado:
DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;
Por alguna razón he podido encontrar ninguna relación entre las tablas aunque parece como debería haber uno. Tal vez hay alguna configuración de MySQL o tal vez ON DELETE CASCADE
no se utiliza correctamente en las consultas de creación de la tabla? Me pregunto ...
notable diferencia entre 'MyISAM' y' InnoDB' para la corrección de ** b ** – JalalJaberi
Tienes razón. Fue ** d **. lo siento por eso. – JalalJaberi