Bindestrich im Tabellennamen übernehmen INSERT-Anweisung?!

Blaubmania

Erfahrenes Mitglied
Hiho
ich habe in einer DB eine Tabelle die heisst CD-Anzahl wenn ich dem jetzt sage:

PHP:
mysql_query("INSERT INTO db (CD-Anzahl) VALUES (3);

akzeptiert er den Bindestrich nicht von CD-Anzahl gibts da eine Möglichkeit das er den akzeptiert?
 
snuu hat gesagt.:
INSERT into CD-Anzahl (spaltenname) values(3)
Das stimmt nicht ganz. Der Bindestrich ist hier ein Sonderzeichen. Deswegen muss der Tabellenname in Hochkommas oder Anführungstrichen. Es muss also so aussehen:
Code:
INSERT into 'CD-Anzahl' (spaltenname) values(3)
 
Ich würde eh versuchen alle Tabellennamen und Spalent in `` zu fassen und alle Werte in ''

Code:
INSERT into `CD-Anzahl` (`spaltenname`) values('3')

Dies schützt vor unerwartenden Fehlern und ist ausserdem SQL-konform ;) (zumindest sehe ich das so)
 
CD-Anzahl ist der Spaltenname ^^ und die Tabelle heisst Musik. Hab mich da falsch ausgedrückt Sry ^^ Ich werde später mal die Varianten durchprobieren mit hochkammes oder Anführungszeichen hats leider nicht geklappt hatte das schon probiert.

PHP:
 INSERT INTO Musik ('CD-Anzahl') VALUES (3);

PHP:
 INSERT INTO Musik ("CD-Anzahl") VALUES (3);

Die beiden ahben end gefunzt drücken ja auch das selbe aus eigentlich ^^
Mit den schrägen hochkommatas hab ich noch end versucht werde ich ancher mal tun.
 
Code:
 INSERT INTO `Musik` (`CD-Anzahl`) VALUES ('3')

So sollte es gehen, zumindest wenn die ganzen Bezeichnungen richtig sind.
 

Neue Beiträge

Zurück