Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/09/2009, 12:31
phidalgo
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Problema: can't update table ... trigger [ErrorNr:1442]

Gracias gnzsoloyo, tu respuesta solucionó mi duda. El por qué ocupar un trigger para esto en vez hacerlo directamente en el código de mi aplicación era para aprender a tratar de solucionar un problema más de fondo:

Tengo una tabla "X" el cual tiene un campo "codigo" que es compuesto por "fechaInsercion-ID", estonces necesitaba que tras una inserción (o antes) este campo "codigo" se genere automaticamente. Esto si tenía que hacerlo por trigger ya que aquí otras aplicaciones que yo no controlo insertarán en mi BD. Aquí esta por si a alguien le pueda servir en alguna oportunidad

Código PHP:
CREATE DEFINER 'root'@'%' TRIGGER `X_after_ins_trBEFORE INSERT ON `X`
  FOR 
EACH ROW
BEGIN
SET 
NEW.codigo concat(
DATE_FORMAT(CURDATE(),'%y%m%d'),'-',
(
    
SELECT LPAD(AUTO_INCREMENT,5,0)
    
FROM information_schema.TABLES
    WHERE TABLE_SCHEMA 
'miBD' 
    
AND TABLE_NAME 'X')
);
END
Lo que me genera un dato del tipo: "090928-00020" (FECHAINSERCIÓN-ID)
__________________
-La duda es la base del conocimiento-