¿Cómo podemos eliminar campos de varias tablas usando db_delete()
y INNER JOIN
en Drupal 7?
9
¿Cómo podemos eliminar campos de varias tablas usando db_delete()
y INNER JOIN
en Drupal 7?
No puedes, tengo miedo.
db_delete()
toma un solo parámetro de cadena para definir en qué tabla se ejecutará la consulta. No hay margen para proporcionar más de una tabla a la vez.
Sin embargo, puede ejecutar cualquier instrucción SQL que desee con db_query()
, por ejemplo.
// Deletes all nodes and related author users...please don't actually run this!!
$sql = 'DELETE u, n FROM {node} n INNER JOIN {users} u ON u.uid = n.uid';
db_query($sql);
db_delete
toma un solo parámetro, sin permitir un alias, es molesto. De lo contrario, sería posible usar JOINs similares a db_select.Sí, db_delete toma un solo parámetro. Debe llamar
db_delete()
varias veces para eliminar datos de varias tablas. Por favor vea el siguiente código de muestra:Enlace de origen:
https://github.com/drupal/drupal/blob/7.x/modules/block/block.module
https://api.drupal.org/api/drupal/modules%21block%21block.module/ 7.x
fuente