Ich versuche eine gespeicherte Prozedur zu erstellen, die einen Instruktor in einer Abteilung hinzufügt. Das Problem ist, dass es mir nicht gelingt, die Instructor-ID aus einer Tabelle basierend auf dem Vor- und Nachnamen aus der Eingabe auszuwählen und sie in die zweite Tabelle als Fremdschlüssel einzufügen.mysql Fehlercode 1064 beim Versuch ID aus einer Tabelle als Fremdschlüssel in zweite Tabelle einzufügen
Dies ist der Fehler, die ich erhalte:
Error code 1064, SQL state 42000: You have an error in your SQL
syntax; check the manual that corresponds to your MariaDB server
version for the right syntax to use near 'instructor.id WHERE
research_dep.name = researchName and instructor.firstname =
' at line 4
Dies ist, wie ich versuche, den Vorgang
DELIMITER @@
CREATE PROCEDURE sp_add_instructor_to_research
(iFirstName varchar(60)
, iLastName varchar(60)
, researchName varchar(60))
BEGIN
INSERT INTO research_dep.fk_instructor_id
SELECT id
FROM instructor
WHERE instructor.firstname = iFirstName
and instructor.lastname = iLastName
and research_dep.name = researchName;
END @@
DELIMITER ;
Ich sehe kein 'und instructor.firstname =' nach 'research_dep.name = researchName' in Ihrer Abfrage. Ist das die Abfrage, die Sie verwendet haben? – Siyual
Die Abfrage in der Frage und die Fehlermeldung stimmen nicht überein. In der Fehlermeldung steht "instructor.id" vor dem Schlüsselwort 'where'. – Shadow