insert into if not exist

sorry, irgendwie peil ich das gerade alles nicht,...

Code:
INSERT INTO orderlist (au, time, modtime)
SELECT
    newRow.*
FROM
    (SELECT 'GTF' AS au, '1297786126' AS time, '1297786126' AS modtime) AS newRow
    RIGHT JOIN orderlist AS tab
        ON newRow.au = tab.au
WHERE
    tab.ID IS NULL

das ist meine Ausgabe bei:
PHP:
echo "{$AUtoSQL}<br /><br />\n";

und das:
PHP:
echo mysql_affected_rows();
gibt mir nur 0 aus,...

genauso phpmyadmin:
Code:
0 Zeile(n) eingefügt. ( die Abfrage dauerte 0.0004 sek. )

Danke für die Hilfe

-> mehr konnte ich den todo leider nicht entnehmen,... habe ich etwas übersehen? das errorreporting hatte ich so schon drinnen,...
 
Zuletzt bearbeitet:
Jepp. In meinem, bereits 2 mal verlinkten, Tutorial steht dass du es mit phpMyAdmin oder etwas dergleichen testen sollst.

Und welches ist dien ident aus deinem ersten Post?
 
ja mit phpmyadmin habe ich getestet,...

au ist mein ident,... wie ich bereit im dritten post erwähnte:
--> au entspricht in diesen Fall jetzt ident (musste noch programmtechnisch ein paar Änderungen vornehmen,...

und die ID ist der Schlüsselwert der automatisch inkrementiert wird,...

PHPmyAdmin macht das selbe wie mein Script,... fügt nichts ein, obwohl der wert in der spalte au noch nicht existiert.
 
Oh, kleiner Fehler. LEFT anstelle von RIGHT
Ich rate dir, die JOIN-Geschichte zu studieren und zu verstehen. Ansonsten bist du immer auf Fremdhilfe angewiesen.
 
Probier mal das hier:
Code:
INSERT INTO orderlist (au, time, modtime)
SELECT
    newRow.*
FROM
    (SELECT 'GTF' AS au, '1297786126' AS time, '1297786126' AS modtime) AS newRow
    WHERE newRow.au NOT IN (SELECT au FROM orderlist)

2.Variante:

Code:
INSERT INTO orderlist (au, time, modtime)
SELECT
    newRow.*
FROM
    (SELECT 'GTF' AS au, '1297786126' AS time, '1297786126' AS modtime) AS newRow
    WHERE NOT EXISTS(SELECT au FROM orderlist WHERE au=newRow.au)
 

Neue Beiträge

Zurück