Ver Mensaje Individual
  #10 (permalink)  
Antiguo 14/12/2013, 18:20
Avatar de guardarmicorreo
guardarmicorreo
 
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 6 meses
Puntos: 84
Respuesta: Al querer borrar una entrada no puedo

Te he hecho caso y me funcionó :D

Voy a contar cómo he podido hacerlo para que quede para la posteridad xD ya que la verdad es que me ha costado poder hacerlo.

Primero tuve que hacer un show create table con la finalidad de poder ver el 'ibfk_número'.
Ese es el constraint, el cual hay que borrarlo.

Así que lo siguiente es borrar dicho constraint

Código SQL:
Ver original
  1. ALTER TABLE answers DROP FOREIGN KEY answers_ibfk_1

Después hay que volver a crear el constraint pero hay que crearlo con el ON DELETE CASCADE

Código SQL:
Ver original
  1. ALTER TABLE answers ADD FOREIGN KEY (id_questions) REFERENCES questions (id_question) ON DELETE CASCADE;

Y finalmente puedo borrar entradas con referencias en otra tabla.

En mi caso la sentencia SQL quedó así

Código SQL:
Ver original
  1. DELETE a, q
  2. FROM questions q  INNER JOIN answers a ON q.id_question = a.id_questions
  3. WHERE q.id_question =14;

La advertencia es que con ON DELETE CASCADE añadido, al borrar una entrada padre, las entradas hijas en otra tabla serán borradas. En mi caso es exactamente lo que necesito, ya que no puede haber respuestas sin preguntas.

Gracias gnzsoloyo!!! otro conocimiento adquirido gracias a ti! :D
__________________
Ayúdame a hacerlo por mi mismo.