Dateneingabe in einer Tabelle soll in anderer Tabelle neue Spalten einfügen

helli

Neuer Benutzer
Beiträge
4
Hallo,

ich bin absoluter Neuling was MySQL angeht. Nun habe ich folgendes Problem: Ich gebe in Tabelle A Aufgabentexte ein (Aufgaben_nr, Aufgaben_text). Es soll dann in Tabelle B Schüler jeweils eine Spalte mit der Aufgaben-Nummer mit einem "a" davor angelegt werden. Wie mache ich das? Ich benutze phpmyadmin zum bearbeiten meiner Datenbank.

Schon mal besten Dank für die Hilfe.
 
Werbung:
Versteh ich Dich richtig, ein Insert in Tabelle A soll einen weiteren Record in Tabelle B triggern? Dann brauchst Du einen TRIGGER.
 
Danke für Deine Antwort. Ich habe also leider keine Ahnung, wie der Trigger aussehen muss. Die Anleitungen im Netz haben mir da auch nicht wirklich weitergeholfen. Wie gesagt, ich kenne mich mit MySQL eigentlich nicht aus.
 
Wie gesagt, ich kenne mich mit MySQL eigentlich nicht aus.

Ich auch nicht, nur mit PostgreSQL. Da geht es so, mal als primitives Beispiel:

Code:
test=# create table quelle (id int primary key, t text);
CREATE TABLE
test=*# create table ziel (id int primary key, t text);
CREATE TABLE
test=*# create or replace function trigger_to_copy() returns trigger as $$begin insert into ziel values (new.id, new.t); return new; end; $$language plpgsql;
CREATE FUNCTION
test=*# create trigger trg1 after insert on quelle for each row execute procedure trigger_to_copy();
CREATE TRIGGER
test=*# insert into quelle values (1, 'das ist ein test');
INSERT 0 1
test=*# select * from ziel;
 id |  t   
----+------------------
  1 | das ist ein test
(1 Zeile)

test=*#
 
Erst mal Danke. Solche Anleitungen habe ich schon gefunden, aber ich kann sie nicht auf mein Problem anwenden. Die automatisch kreierte aufgabennr soll eine neue Spalte mit Überschrift "a".aufgabennr ergeben.

CREATE TRIGGER trig_neue_spalte
AFTER INSERT ON aufgaben
....
CREATE ON user
...

irgendwie so müsste es aussehen, aber ich habe keine Ahnung, wie genau die Syntax ist.
 
Die automatisch kreierte aufgabennr soll eine neue Spalte mit Überschrift "a".aufgabennr ergeben.

Das klingt so, als ob Du via TRIGGER dann eine neue Spalte erstellen willst, ja?

Das mag vielleicht gehen, ist aber ein absolut eindeutiges Zeichen dafür, daß Du grundsätzlich etwas falsch machen willst. Merke: ändere nie die Tabellenstruktur, nur weil da ein Datensatz mehr in der Tabelle zu speichern ist.
 
Werbung:
Ich glaube hier wird kein Trigger gesucht sondern eine klassischer Fremdschlüssel.

Der Schüler hat eine Beziehung zu einer Aufgabe, eine Aufgabe kann sich auf mehrere Schüler beziehen. Ob das Sinn macht kann ich aber nicht sagen, das ist vermutlich nicht weit genug gedacht da mit Sicherheit ein Schüler auch mehr als eine Aufgabe bekommt.
 
Zurück
Oben