Wann welches? ` ' "
AhANiBoy
- datenbank
0 Daniela Koller0 AhANiBoy0 dedlfix-1 Daniela Koller0 Ilja
hi
Es gibt in MySQL Single Quotes ' sowie Backticks ` und Double Quotes "
Es ist mir aber nicht ganz klar wo ich welche verwenden darf.
Folgendes funktionierte nicht:
mysql> INSERT INTO foo
(id
, foo
, bar
) VALUES (``, abc
, def
);
ERROR 1054: Unknown column '' in 'field list'
mysql>
In der Annahme dass ` Probleme machte ging ich her und nahm '
mysql> INSERT INTO 'foo' ('id', 'foo', 'bar') VALUES ('', 'abc', 'def');
ERROR 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 ''foo' ('id', 'foo', 'bar') VALUES ('', 'abc', 'def')' at line 1
mysql>
Nur " gehen auch nicht:
mysql> INSERT INTO "foo" ("id", "foo", "bar") VALUES ("", "abc", "def");
ERROR 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 '"foo" ("id", "foo", "bar") VALUES ("", "abc", "def")' at line 1
mysql>
Wo soll ich welche verwenden?
Derzeit sind meine Test-Felder noch alle durchgehende Wörter und würden
keine Single Quotes, Backticks und Double Quotes brauchen.
aber es kommen bald Werte und Feldnamen mit
LEERZEICHEN und diversen Sonderzeichen da muss ich sehrwohl was machen.
^^^^^^^^^^^ ^^^^^^^^^^^^^
Auch das hier ist unklar:
PRIMARY KEY (id),
UNIQUE INDEX id (id)
Welche ` oder ' oder " braucht man hier?
Dankende Grüße!
Schönen Tag noch wünscht
Euer AhANiBoy
Hi AhANiBoy
` Brauchst du für Spalten- und Tabellennamen, die mit Schlüsselwörtern kollidieren oder Leer-/Sonderzeichen beinhalten. Idealer wäre es aber, auf solche Namen zu verzichten.
' Brauchst du für alle Stringwerte.
" Gibt es afaik nicht.
An einem Beispiel:
SELECT datetime
FROM where
WHERE stringfeld = 'stringwert'
Gruss Daniela
hi Daniela!
Danke für die prompte Antwort.
Ist also das hier auch richtig, oder?
Sagen wir ich habe ein FELD wie Du auch "where" genannt.
PRIMARY KEY (where
),
UNIQUE INDEX myindexname
(where
, is
)
Da sind nur Backticks `
Sollte so stimmen, ne?
Dankende Grüße,
AhANiBoy
` Brauchst du für Spalten- und Tabellennamen, die mit Schlüsselwörtern kollidieren oder Leer-/Sonderzeichen beinhalten. Idealer wäre es aber, auf solche Namen zu verzichten.
Ideal wäre es auch zu wissen, welche Wörter in nachfolgenden Versionen plötzlich Schlüsselwörter/Funktionsnamen werden... Dann backticke
ich lieber doch alles gleich von Anfang an.
Wobei ich persönlich ohne Not auch keine Leer- oder Sonderzeichen (außer dem Unterstrich) in DB-/Tabellen-/Spaltennamen verwenden würde.
Hi dedlfix
Ideal wäre es auch zu wissen, welche Wörter in nachfolgenden Versionen plötzlich Schlüsselwörter/Funktionsnamen werden... Dann
backticke
ich lieber doch alles gleich von Anfang an.
Kuck dir mal die Listen mit den reservierten Wörtern an. Da sind üblicherweise auch welche dabei, die für später verplant sind. Es gibt aber natürlich keine Garantie dafür.
Gruss Daniela
P.S: Gruss und Verabschiedung sind hier üblich und deren Fehlen unhöflich.
yo,
blumen für die dame, es gibt halt keine gentlemen mehr.....
gruß
Ilja