Mysql eliminar cascada

Mysql eliminar cascada
En MySQL, la declaración en Delete Cascade se está utilizando para eliminar las filas correspondientes de la tabla secundaria implícitamente siempre que las filas se eliminen de la tabla principal. Este es un tipo relativo de comportamiento contextual relacionado con la clave extranjera.

Suponiendo que ha producido dos tablas con una llave extranjera dentro de una relación de la clave extranjera, lo que hace que una mesa de padres e hijos. Después de eso, se debe solucionar una clave extranjera para que otra tenga éxito durante las actividades en cascada, luego especificamos una declaración ONSelete Cascade. Quizás si una sola declaración de clave extranjera determina la Cascade On Delete, las funciones en cascada activarán una excepción.

Entendamos cómo a lo largo de la tabla MySQL, podríamos usar la declaración On Eliminar Cascade.

Debe abrir el shell de cliente de línea de comandos MySQL recientemente instalado para continuar con el trabajo. Al abrir, se le pedirá que ingrese su contraseña para continuar usando el shell de cliente de línea de comandos mysql, como se adhiere a continuación.

A continuación, vamos a construir dos tablas llamadas "pedido" y "cliente". Ambas tablas mutuas están conectadas con la función de eliminación de cascada utilizando una clave extranjera. Un "pedido" es la tabla principal en este punto, y la tabla infantil es el "cliente". Con los scripts que lo acompañan, junto con los registros respectivos, debe construir ambas tablas. Use el siguiente comando "Usar" para seleccionar la base de datos en la que desea trabajar o crear tablas dentro de. Aquí "datos" es la base de datos que estamos utilizando.

>> usar datos;

Crear tabla principal:

En primer lugar, debe crear la tabla "orden" junto con sus campos utilizando el comando Crear tabla, como se muestra en la consulta a continuación. La columna "ID" se utilizará en la siguiente tabla "Cliente" como clave extranjera.

>> Crear datos de tabla.Orden (ID int primario clave auto_increment no nulo, elemento varchar (50) no nulo, precio varchar (50) no nulo);

Agreguemos algunos datos a esta tabla. Tiene que ejecutar las consultas a continuación en el shell de línea de comandos MySQL y ejecutar cada comando individualmente en la línea de comandos o simplemente agregar todos los comandos en la línea de comandos en un solo paso. También puede usar MySQL Workbench GUI para agregar datos a la tabla.

Ahora revisemos la tabla "ordenar" después de poner valores en ella. Puede usar el comando SELECT para este propósito de la siguiente manera:

>> seleccionar * de los datos.orden;

Puede ver que los datos se han guardado con éxito en la tabla "Orden" como se esperaba.

Crear mesa para niños con Delete Cascade:

Ahora, es el turno para que se cree otra tabla llamada "Cliente".

Primero, debe escribir la palabra clave "Crear" junto con el nombre de la tabla. Luego, debe agregar nombres de campo o columna junto con sus tipos de datos. Debe nombrar la última columna, que se utilizará como la clave extranjera en esta tabla, lo mismo que la llamó en la tabla anterior. Como sabe, la columna "ID" de la tabla "pedido" se ha utilizado como la clave extranjera en la tabla "Cliente" como "Ordenid". Después de eso, debe agregar la palabra clave de "restricción", que se utiliza para inicializar la clave extranjera, junto con la referencia de la tabla anterior. Ahora tiene que usar la instrucción "Eliminar Cascade" junto con la palabra clave "en".

>> Crear datos de tabla.CLIENT (Custid int no nulo auto_increment clave primaria, nombre varchar (45) no nulo, ordenid int no null, restriction orden_id_fk clave extranjera (ordenid) Referencias datos.pedido (id) en la cascada delete);

Después de que se ha creado la tabla, y la cascada de Delete se ha ejercido con éxito en esta tabla, es hora de insertar algunos valores en esta tabla. Pruebe las siguientes instrucciones una por una en el shell del cliente de línea de comandos mysql para hacer esto.

Posteriormente, haga la inserción de consultas. Es un punto verificar la tabla si los datos se han agregado correctamente o no. Así que intente esto a continuación para hacer esto:

>> seleccionar * de los datos.cliente;

Aquí, puede ver la salida de la tabla de que los datos se le asignan eficientemente y sin ningún error o falla.

Eliminar registros:

Ahora, cuando elimina cualquier dato o fila de la tabla principal, también eliminará los datos o la fila de la tabla infantil debido a la cascada de eliminación habilitada en la clave extranjera mencionada en la tabla infantil. Probemos primero la consulta de eliminación, luego verifique los resultados. Eliminaremos los datos de la tabla "orden" donde la "identificación" es "11". Si se encontrará la misma "ID" en la tabla "Cliente" en la columna de clave extranjera, "OrderId", entonces la fila relativa o los datos en la tabla "Cliente" también se eliminarán. Pruebe el siguiente mando en la línea de comandos para hacerlo:

>> Eliminar de los datos. orden donde id = '11';

Primero, revisemos la mesa de los padres. Luego, escriba el comando seleccionar a continuación para recuperar los registros restantes de la tabla "orden" después de la eliminación de algunos registros. Verá que el registro de la tabla, donde la "identificación" era "11", se ha eliminado con éxito de esta tabla. Esto significa que los registros relativos del mismo valor de identificación, "11", también se eliminarían de la tabla de niños.

>> seleccionar * de los datos.orden;

Obtener los registros de la tabla infantil usando el comando select es tan simple como lo hizo antes. Solo prueba el comando a continuación y tendrás los resultados.

Al obtener los resultados, puede ver que el registro de "Custid" tiene un valor de "1" que se ha eliminado completamente. Esto se debe a que la columna "OrderId" tiene un valor de "11" en su primera fila, lo que conduce a la eliminación de esa fila.

>> seleccionar * de los datos.cliente;

Cuando intenta soltar la tabla principal usando el comando Drop, MySQL evitará que lo haga. Esto se debe a que la tabla principal ha habilitado la cascada de eliminación. Entonces, para dejar caer la mesa, primero debe eliminar la Cascada de eliminación.

Conclusión:

Lo hemos hecho con la explicación de Delete Cascade en MySQL. Para dejarlo más claro, pruebe más ejemplos de su parte.