Werte mit Fremdschlüsseln in MySQL einfügen
Bei der Arbeit mit relationalen Datenbanken ist es oft notwendig, Werte mit Fremdschlüsseln in Tabellen einzufügen. So gehen Sie mit zwei spezifischen Fällen um:
FALL 1: Einfügen eines Schülers mit einem vorhandenen Lehrer
In diesem Fall kennen Sie den Namen des Lehrers und müssen ihn kennen Rufen Sie ihre ID aus der Tabelle TAB_TEACHER ab. Die folgende Abfrage verwendet eine Unterabfrage, um den Fremdschlüsselwert abzurufen:
<code class="sql">INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) SELECT 'Joe The Student', id_teacher FROM TAB_TEACHER WHERE name_teacher = 'Professor Jack' LIMIT 1</code>
FALL 2: Einfügen eines Schülers mit einem neuen Lehrer
Für diesen Fall benötigen Sie um sowohl den neuen Lehrer als auch den neuen Schüler einzufügen. Dies erfordert zwei separate INSERT-Anweisungen:
<code class="sql">-- Insert the new teacher INSERT INTO TAB_TEACHER(name_teacher) VALUES ('John Smith') -- Get the new teacher's ID SET @id_teacher_fk = LAST_INSERT_ID() -- Insert the new student with the foreign key value INSERT INTO TAB_STUDENT(name_student, id_teacher_fk) VALUES ('Jane Doe', @id_teacher_fk)</code>
Bitte beachten Sie, dass die spezifische Syntax je nach MySQL-Version variieren kann. Einzelheiten finden Sie in der offiziellen Dokumentation.
Das obige ist der detaillierte Inhalt vonWie fügt man Werte mit Fremdschlüsseln in MySQL ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!