Ich würde gerne Fotodaten in die Tabelle articles_photos
legen und es mit Anzahl von Fotos für ausgewählte Artikel konditionieren.INSERT INTO und die Unterabfrage mit COUNT
Beide Tabellen existieren. Im Folgenden werde ich meine Abfrage
INSERT INTO articles_photos(title,
filename,
photo_order,
created,
article_id)
VALUES ('title',
'filename',
(SELECT COUNT(id)
FROM articles_photos
WHERE article_id = 7) + 1,
NOW(),
7)
phpMyAdmin vorgestellt haben, sagt:
Static analysis:
5 errors were found during analysis.
A comma or a closing bracket was expected (near "SELECT" at position 109)
Unrecognized keyword. (near "COUNT" at position 116)
Unexpected token. (near "(" at position 121)
Unexpected token. (near "id" at position 122)
Unexpected token. (near ")" at position 124)
#1093 - Table 'articles_photos' is specified twice, both as a target for 'INSERT' and as a separate source for data
Was tat ich falsch?
Sie können dieselbe Tabelle nicht in einer Unterabfrage verwenden, in die Sie Daten einfügen. Der Fehler ist klar: '# 1093 - Tabelle 'articles_photos' wird zweimal angegeben, sowohl als Ziel für 'INSERT' als auch als separate Quelle für Daten ' –
Sollte ich zwei separate Abfrage verwenden, erhalten Sie die Anzahl der Zeilen und dann die zweite Abfrage? Kann ich tun, was ich in einer Abfrage beschrieben habe? – Jarmark
Die Antwort von JNevill ist ganz in Ordnung –