Over a million developers have joined DZone.

Claves Foraneas / Foreign Key

·
Integridad de datos mediantes claves Foraneas, script que genera las SQL necesarios para garantizar la integridad entre tablas. Poco a poco vamos relacionando parejas de padre e hijo y podemos realizar un arbol de claves foraneas, cuando si borramos un registro del padre, borra y actualiza a los hijos en cascada, si no me explico bien decirme en los comentarios.







Untitled Document



";
	$resultado2 = mysql_query($sql2);
	if(mysql_num_rows($resultado2) <= 0)
	{
		$sql3 = "DELETE FROM `".$tabla_hijo."` WHERE `".$campo_hijo."` = '".$fila[$campo_hijo]."' LIMIT 1;";
		if($ejecutar)
		{
			if(mysql_query($sql3)) echo "OK query : ".$sql3."
"; else echo "Error en query : ".$sql3."
"; } else { echo $sql3."
"; } $sinIntegridad++; } } $sql1="ALTER TABLE `".$tabla_padre."` ADD INDEX ( `".$campo_padre."` ) "; $sql2="ALTER TABLE `".$tabla_hijo."` ADD INDEX ( `".$campo_hijo."` ) "; $sql3="ALTER TABLE ".$tabla_hijo." ADD FOREIGN KEY(".$campo_hijo.") REFERENCES ".$tabla_padre." (".$campo_padre.") ON DELETE CASCADE ON UPDATE CASCADE"; if($ejecutar) { if(mysql_query($sql1)) echo "OK query : ".$sql1."
"; else echo "Error en query : ".$sql1."
"; if(mysql_query($sql2)) echo "OK query : ".$sql2."
"; else echo "Error en query : ".$sql2."
"; if(mysql_query($sql3)) echo "OK query : ".$sql3."
"; else echo "Error en query : ".$sql3."
"; } else { echo $sql1."
"; echo $sql2."
"; echo $sql3."
"; } echo "
".$sinIntegridad." filas sin integridad.
"; ?>
Topics:

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}