Not unique table/alias: 'kunde'

messmar

Erfahrenes Mitglied
Hallo,

ich habe den folgenden code in meiner Datenbank-Abfrage :

$datenHolen = "INSERT INTO kunde (kunden_nr, ort_nr, anrede, name, email) SELECT ort_nr FROM kunde, ort WHERE kunden_nr!=' ' AND ort_nr!=' '
AND anrede!=' ' AND name!=' ' AND email!=' '";

bekomme aber die folgende Fahlermeldung :
Not unique table/alias: 'kunde'

Für jede Hilfe, bin ich dankbar.

Amin
 
Mit welcher DB arbeitest Du ?

Die Spaltenzahl im Insertteil und im Select sind unterschiedlich (5 im Insert, 1 im Select)
Stimmt das, dass Du einen insert in die Tabelle kunde mit einem Select aus der gleichen Tabelle kunde bilden möchtest?

Daher kommt wohl die Warnung: Not unique table/alias
(keine eindeutige Tabelle oder Alias)

mfg
mschuetzda
 
hi, danke.

Ich habe Mysql 3.23.32 und php4.

Eigentlich mein Problem ist folgendes :

ich habe zwei Tabellen: "ort" und "kunde"

ort: ist die Master-Tabelle mit folgenden feldern:
ort_ID (PK), strasse, Haussnr, ort, plz.

Diese Felder werden mit dem Befehl "INSERT" über ein Formular, das der User ausfüllt, geholt.
$datenEintragen = "INSERT INTO ort (strasse, haussnr, ort, plz) VALUES ('$strasse', '$haussnr', '$ort', '$plz')";
$tueEsMal = mysql_query($datenEintragen, $db);

kunde: ist die zweite Tabelle mit folgenden Feldern:
kunden_ID (PK), ort_ID (FK), anrede, name, email.

Die Felder: anrede, name, email, in der Tabelle: kunde, werden mit dem Befehl "INSERT" über ein Formular, das der User ausfüllt, geholt.

$datenEintragen = "INSERT INTO kunde (anrede, name, email) VALUES ('$FoM','$name','$email')";
$tueEsMal = mysql_query($datenEintragen, $db);

Bisherher funktioniert alles prima


Das Feld ort_ID (FK) in der Tabelle: kunde, muss aus der Tabelle ort kommen, da es als FK zu einer 1:n Beziehung dient:
$datenSatz = "INSERT INTO kunde (ort_ID) SELECT ort_ID FROM ort WHERE ort_ID!=' ' ";
$datenSatzEin = mysql_query($datenSatz, $db);


Dann will ich die Tabelle: kunde anzeigen lassen bzw. verwenden, sowohl in die Datenbank als auch im Browser. mit:

$datenHolen = "SELECT kunde.kunden_ID, ort.ort_ID, kunde.anrede, kunde.name, kunde.email FROM kunde, ort WHERE (kunde.kunden_ID!=' ' AND ort.ort_ID!=' ' AND kunde.anrede!=' ' AND kunde.name!=' ' AND kunde.email!=' ')";

oder mit:

$datenHolen = "SELECT * FROM kunde";
$tueEs = mysql_query($datenHolen, $db);

Es funktioniert überhaupt nicht.

Jedes Mal bekomme ich ein neues Problem. entweder die Datensätze werden dreifach o. vierfach doppelt geschrieben oder das Feld ort_ID wird mit "0" belegt.

Es sieht einfach aus, aber ich bekomme es nicht hin ;-(

Danke + Gruß

Amin
 
Ich kenn mich zwar mit mysql nicht aus aber ich bin seit 22 tagen dabei mich in sql und pl/sql einzuarbeiten. Bei Sql müsstest du es so machen:

select a.kunde.kunden_id, b.ort.ort_id, a.kunde.anrede, a.kunde.name, a.kunde.email
from kunde a, ort b
where... and
a.ort_id = b.ort_id

also könnte es sein dass du das auch so machen musst

$datenHolen = "SELECT a.kunde.kunden_ID, b.ort.ort_ID, a.kunde.anrede, a.kunde.name, a.kunde.email FROM a.kunde, b.ort WHERE (a.kunde.kunden_ID!=' ' AND b.ort.ort_ID!=' ' AND a.kunde.anrede!=' ' AND a.kunde.name!=' ' AND a.kunde.email!=' ')";

keine ahnung ob das mit mysql auch so funktioniert aber du hast ja geschrieben, dass du für jede hilfe dankbar bist :D
 
Zurück