sql >> Base de Datos >  >> RDS >> Mysql

Cómo usar el disparador en MySql para hacer una clave externa

Si bien no está claro qué es exactamente lo que pretende con la declaración "usar disparador para crear una clave externa", su problema actual es que SELECT INTO no se puede utilizar en consultas que arrojan más de un resultado.

SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; devuelve CADA coincidencia entre las dos tablas.

Si estuviera tratando de comprobar si teacher contiene el teacher_id valor que se utiliza en el nuevo content registro, debería poder soltar la cláusula JOIN por completo y simplemente consultar así:

SELECT 1 INTO has_row FROM `teacher` WHERE `teacher_id` = NEW.`teacher_id`;