mysql, Cijfers als kolomnaam

Status
Niet open voor verdere reacties.

JanJongste

Gebruiker
Lid geworden
1 mrt 2016
Berichten
24
Beste forumleden,

Waarom kan ik niet via onderstaande code een tabel aanmaken. Maar wel met een letter ervoor bijvoorbeeld p_292. Die letter is in myadmin wel weg te halen en op te slaan.

Code:
CREATE TABLE producten (
product_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY NOT NULL,
292 VARCHAR(4)
);
 
Maak er eens dit van:
Code:
CREATE TABLE producten (
product_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY NOT NULL,
'292' VARCHAR(4)
);
 
Dank je wel voor de snelle reactie 'edmoor'. Helaas geeft het dan ook een foutmelding.

#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 ''292' VARCHAR(4) )' at line 3
 
Laatst bewerkt:
Gebruik dan dubbele quotes in plaats van enkele:
Code:
CREATE TABLE producten (
product_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY NOT NULL,
"292" VARCHAR(4)
);
 
En dit?
Code:
CREATE TABLE producten (
product_id BIGINT(20) AUTO_INCREMENT PRIMARY KEY NOT NULL,
[292] VARCHAR(4)
);
 
Beste edmoor en Octafish,

De dubbele aanhalingstekens heb ik geprobeerd maar die geven net als de haakjes eenzelfde foutmelding ....
 
Ik ken de naming conventions niet maar dan lijkt het er op dat een kolom naam niet uit louter cijfers mag bestaan bij het maken van een tabel.
 
De meeste SQL talen en variaties staan geen cijfers toe als beginteken voor een veldnaam, en MySQL blijkbaar dus ook niet. Je zult er mee moeten leven vrees ik. Overigens zie ik zelf het nut niet van veldnamen die alleen uit cijfers bestaan; tekst namen lijken mij een veel logischere insteek.
 
Waarom wil je nummering gebruiken in de velden? Als ik dit zo lees vrees ik dat je een verkeerde databasestructuur hebt.
Vertel eens meer over wat je precies wilt
 
dank voor alle reacties dames en heren.

@ PHP4U, het zijn productcodes

@ Octafish, ik kan er natuurlijk ook namen voor gebruiken een algemene p_ voor de code. Wat ik alleen niet snap is dat je de naam in phpMyadmin wel kan hernoemen naar een naam met alleen cijfers. Maar via het query-venster niet.
 
Beste JanJongste,

We hebben ons een beetje te veel verdiept in het probleem "alleen cijfers"
Ik ben geneigd het eens te zijn met PHP4U, dat het echte probleem misschien wel je database-structuur is.
 
Productcodes horen thuis in een veld [Productcodes], en mogen nooit een eigen veld zijn. Als dat wel zo is, moet je je structuur echt tegen het licht houden, want dan is je database heel slecht genormaliseerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan