30/08/2005, 09:38
|
| | Fecha de Ingreso: agosto-2005
Mensajes: 76
Antigüedad: 19 años, 3 meses Puntos: 0 | |
El problema esta en el insert de las tablas que son relaciones entre otras entidades. El script recoge datos de un formulario para varias tablas, y algunas de ellas (todos sus campos son PK de tablas rellenadas previamente sin problemas con el mismo formulario) son las que me dan problemas. Todas tablas de tipo InnoDB. Entonces, lo que creo que ocurre, es que al insertar información de otras tablas (insertadas correctamente con el mismo formulario) en tablas que las relacionan, parece que no estan insertadas y no las tomas para las tablas de las relaciones. Bueno, no se si me explico... es como si una tabla A tiene PK=a y una tabla B tiene PK=b, entonces yo tengo otra tabla C con PK=a y PK=b. Lo que ocurre es que A y B estan correctamente insertadas pero C no.
He intentado poner lo siguiente antes de la inserción de tablas que contengan algún tipo de información que luego requerirán otras tablas:
//comenzamos las ordenes a mysql: BEGIN WORK
$BG_W = "BEGIN WORK";
$CM_W = "COMMIT WORK";
if (! $BG = mysql_query($BG_W, $conn)) {
echo mysql_error($conn);
stderr ("Error querying: $BG_W");
}
//COMMIT!!!! BEGIN!!!!
if (! $CM = mysql_query($CM_W, $conn)) {
echo mysql_error($conn);
stderr ("Error querying: $CM_W");
}
if (! $BG = mysql_query($BG_W, $conn)) {
echo mysql_error($conn);
stderr ("Error querying: $BG_W");
}
etc...
Pero me aparece el siguiente error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WORK' at line 1
Error querying: COMMIT WORK
Que debo modificar? Como puedo solucionarlo? Muchas gracias por la ayuda.
Un saludo. |