problema con trigger
Publicado por Jose Luis (20 intervenciones) el 12/07/2012 18:41:21
Hola a todos,
He creado dos tablas de prueba con nombre libros_2 y libros_prestados2
Lo que quiero es que cuando de el valor de uno (1) en un campo binario de un nuevo registro estos copien dichos datos a traves de un trigger a la otra tabla libros_prestados2.
Pero recibo varios errores a la hora de registrar con el trigger, sin el trigger funciona bien.
Script de creacción de las tablas:
create table libros_2
(num_reg integer auto_increment not null,
nombre_libro char(30) not null,
fecha_compra date not null check(fecha_compra<=current_date),
idioma char(15),
tipo char(15),
prestado binary default 0,
primary key(num_reg,nombre_libro))
create table libros_prestados2(
num_reg integer auto_increment not null,
nombre_libro char(30) not null,
fecha_prestamo date not null check(fecha_prestamo<=current_date),
prestado_a char(30),
observaciones char(50),
index (num_reg,nombre_libro),
primary key(num_reg,nombre_libro),
foreign key (num_reg) references libros_2(num_reg))
Script de creacción del trigger
delimiter $$
drop trigger if exists libros_prestados $$
create trigger libros_prestados after insert on libros_2
for each row
begin
declare valor_prestado integer default 0;
set valor_prestado=new.prestado;
if valor_prestado=1 then
insert into libros_prestados2 (num_reg,nombre_libro,fecha_prestamo)
select num_reg,nombre_libro,current_date from libros_2;
end if;
end $$
Delimiter;
Al hacer un ingreso recibo el siguiente error:
insert into libros_2 values(3,'prueba3','20091201','Español','Consulta',1)
Error: Unknown column 'prestado' in 'field list'
Alguien sabe que puedo hacer para hacer para que esto funcione?
He creado dos tablas de prueba con nombre libros_2 y libros_prestados2
Lo que quiero es que cuando de el valor de uno (1) en un campo binario de un nuevo registro estos copien dichos datos a traves de un trigger a la otra tabla libros_prestados2.
Pero recibo varios errores a la hora de registrar con el trigger, sin el trigger funciona bien.
Script de creacción de las tablas:
create table libros_2
(num_reg integer auto_increment not null,
nombre_libro char(30) not null,
fecha_compra date not null check(fecha_compra<=current_date),
idioma char(15),
tipo char(15),
prestado binary default 0,
primary key(num_reg,nombre_libro))
create table libros_prestados2(
num_reg integer auto_increment not null,
nombre_libro char(30) not null,
fecha_prestamo date not null check(fecha_prestamo<=current_date),
prestado_a char(30),
observaciones char(50),
index (num_reg,nombre_libro),
primary key(num_reg,nombre_libro),
foreign key (num_reg) references libros_2(num_reg))
Script de creacción del trigger
delimiter $$
drop trigger if exists libros_prestados $$
create trigger libros_prestados after insert on libros_2
for each row
begin
declare valor_prestado integer default 0;
set valor_prestado=new.prestado;
if valor_prestado=1 then
insert into libros_prestados2 (num_reg,nombre_libro,fecha_prestamo)
select num_reg,nombre_libro,current_date from libros_2;
end if;
end $$
Delimiter;
Al hacer un ingreso recibo el siguiente error:
insert into libros_2 values(3,'prueba3','20091201','Español','Consulta',1)
Error: Unknown column 'prestado' in 'field list'
Alguien sabe que puedo hacer para hacer para que esto funcione?
Valora esta pregunta


0