MySQL - Error al insertar en tabla para comprobar trigger

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 15 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Error al insertar en tabla para comprobar trigger

Publicado por Edgar (1 intervención) el 09/06/2020 06:51:12
Bueno, estoy desarrollando una base de datos y me pidieron incluir triggers. Mi problema es que cuando creo el trigger y lo ejecuto va bien, pero al momento de comprobar que el trigger funcione, me manda el error 1452. He intentado de todo y aun no consigo hacer que funcione.

1
2
3
4
5
6
7
8
9
10
11
Create table if not exists reseña(
	id_reseña		int(5)			auto_increment not null,
    autor_reseña	varchar(20)		not null,
    num_estrellas	decimal(4,2)	not null,
    tit_reseña		varchar(40)		null,
    desc_reseña		varchar(200)	null,
    cod_prod		int(5)			not null,
    primary key(id_reseña)
)
engine = innodb
auto_increment = 11;

Ademas, esta tabla se conecta con otras por FKs, las cuales tampoco me permiten comprobar los triggers.

1
2
3
4
5
6
7
8
9
10
11
12
-- Disparador 1 Insertar
DELIMITER //
CREATE TRIGGER disp1 BEFORE INSERT ON reseña
FOR EACH ROW
BEGIN
	SET New.autor_reseña="Anonimo";
END //
DELIMITER ;
 
INSERT INTO reseña (cod_prod,autor_reseña,num_estrellas,tit_reseña,desc_reseña) --Aqui marca error
	VALUES (51,"Hillary",3,"Regular","Esta bien pero nada sorprendente");
SELECT * FROM reseña

En dicha zona, me indica que no puedo agregar o actualizar una linea hijo.
Cualquier apoyo se agradece.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 201
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Error al insertar en tabla para comprobar trigger

Publicado por Francisco (73 intervenciones) el 09/06/2020 22:46:40
Hola

Quite las 'ñ' por si acaso, los comentarios llevan un espacio en balnco inmediatamente despues de los dos guiones y asi funciono

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DROP TABLE IF EXISTS resenna;
 
Create table if not exists resenna(
	id_resenna      int(5)          auto_increment not null,
    autor_resenna   varchar(20)     not null,
    num_estrellas   decimal(4,2)    not null,
    tit_resenna	    varchar(40)     null,
    desc_resenna    varchar(200)    null,
    cod_prod        int(5)          not null,
    primary key(id_resenna)
)
engine = innodb
auto_increment = 11;
 
-- Disparador 1 Insertar
CREATE TRIGGER disp1 BEFORE INSERT ON resenna
FOR EACH ROW
BEGIN
	SET New.autor_resenna="Anonimo";
END ;
 
INSERT INTO resenna (cod_prod, autor_resenna, num_estrellas, tit_resenna, desc_resenna) -- Aqui marca error
	VALUES (51, "Hillary", 3, "Regular", "Esta bien pero nada sorprendente");
SELECT * FROM resenna;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar