Hallo
create table 'Lehrer' (
'Name' varchar(80),
'Alter' float,
'Adresse' varchar(80),
primary key ('Name')
);Ist das exakt das Statement zur Erzeugung der Tabelle?
Wie bereits in meinem ersten Posting stand: Einfache Anführungszeichen sind in Tabellen- und Spaltennamen normalerweise nicht zugelassen.
Tabellen- und Spaltennamen müssen normalerweise nicht maskiert werden.
Wenn Du reservierte Wörter wie z.B. "Alter" verwendest, musst Du diese Namen so maskieren, wie das verwendete DBMS es verlangt, z.B. bei MySQL mit Backticks:
´Alter´
create table Lehrer ( -- Lehrer ist nicht reserviert
Name varchar(80), -- Name ist nicht reserviert
´Alter´ float, -- Alter ist reserviert, daher maskiert
Adresse varchar(80), -- Adresse ist nicht reserviert
primary key (Name) -- Name s.o.
);
Selbstverständlich kannst Du jede Bezeichnung sicherheitshalber maskieren, wie es z.B. phpMyAdmin macht, es ist jedoch nicht erforderlich. Ich persönlich bevorzuge die Verwendung von Spaltennamen, die Maskierung nicht erfordern :-)
Wenn Du ein anderes DBMS verwendest, z.B. MS SQL-Server, so benötigst Du andere Maskierungszeichen, beim MS SQL-Server wird das reservierte Wort in eckige Klammern eingeschlossen:
[Alter]
Ein typischer Fall, der Maskierung erfordert, ist die Verwendung des Minus-Zeichens in Spaltennamen:
[Tel-Nr] bzw. ´Tel-Nr´
Ich kenne kein DBMS, das einfache Hochkomma als Maskierungszeichen verwendet, es ist natürlich nicht ausgeschlossen, dass es eines gibt.
Freundliche Grüße
Vinzenz