Hallo,
ich versuche gerade vergeblich einer Tabelle eine neue Zeile
hinzuzufügen, die aus einer Konstanten (PHP-Variable) und 2 Einträgen
einer anderen Tabelle besteht.
Mein Versuch in PHPMyAdmin:
1
INSERT INTO `daydata`
2
(
3
`Date` , `Offset` , `Gain`
4
)
5
SELECT
6
(
7
'2015-12-29' , `Offset` FROM `parameters`, `Gain` FROM `parameters`
8
)
Fehlermeldung:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'FROM `parameters`, `Gain` FROM `parameters`
)' at line 7
Die Tabelle 'parameters' besteht derzeit nur aus einer Zeile, weshalb
die Abfrage
1
SELECT `Offset` FROM `parameters`
auch nur einen Wert zurückliefert.
Wie geht es richtig?
Michael
Michael S. schrieb:> Und wo brauche ich ein Semikolon? Habe ich noch bei keiner MySQL-Anfrage> benötigt.
Und wöfür brauchst Du die geschweiften Klammern? Die habe ich noch bei
keiner MySQL-Anfrage benötigt.
Aber Mysql-Wichtigtuer hat schon gewissermaßen trotzdem Recht:
Die Klammern sind überflüssig. Siehe unter obigem Link!
Lediglich im INSERT-Statement werden sie benötigt, um die Spaltennamen
anzugeben.
Lies mal unter obigem Link den Post von "Haakon Meland Eriksen"!
Er beschreibt ganz gut, wie dieses Statement funktioniert.
(Es reicht, die ersten 9 Zeilen zu lesen. Ohne Leerzeilen...)
Thomas schrieb:> Lies mal unter obigem Link den Post von "Haakon Meland Eriksen"!> Er beschreibt ganz gut, wie dieses Statement funktioniert.>> (Es reicht, die ersten 9 Zeilen zu lesen. Ohne Leerzeilen...)
Das funktioniert ja auch, wenn ich wirklich alle 3 Werte kopieren will.
Ich kriegs aber nicht hin, nur 2 Werte zu kopieren und den 3. als
Konstante/PHP-Variable reinzuschreiben.
Michael
Thomas schrieb:> Aber Mysql-Wichtigtuer hat schon gewissermaßen trotzdem Recht:>> Die Klammern sind überflüssig. Siehe unter obigem Link!> Lediglich im INSERT-Statement werden sie benötigt, um die Spaltennamen> anzugeben.
Das wars, danke!
Wer kommt denn da drauf, dass man zu viele Klammern setzen kann :-)
In allen mir bisher bekannten Programmiersprachen kann man eigentlich
nie zu viel Klammern setzen (C, PHP, Javascript, Pascal, Python, ...)
Michael
Michael S. schrieb:> Das funktioniert ja auch, wenn ich wirklich alle 3 Werte kopieren will.> Ich kriegs aber nicht hin, nur 2 Werte zu kopieren und den 3. als> Konstante/PHP-Variable reinzuschreiben.>> Michael
Man kann auch konstante Werte SELECTen ;) -> SELECT 1 FROM dual ...