2010-11-25 6 views
0

CREATE TABLE IF NOT EXISTS customers (customer_id TEXT NOT NULL, time_stamp TIMESTAMP NOT NULL, customer_info TEXT), PRIMARY KEY (time_stamp)Quel est le problème avec le SQL?

L'erreur est

mysql> CREATE TABLE IF NOT EXISTS customers (customer_id TEXT NOT NULL, time_stamp TIMESTAMP NOT NULL, 
     customer_info TEXT), PRIMARY KEY (time_stamp); 
ERROR 1064 (42000): 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 ' PRIMARY KEY (time_stamp)' at line 1 
+2

Quelle erreur obtenez-vous? – BoltClock

+1

est cette virgule avant que 'PRIMARY KEY' neccessary? D'ailleurs, un horodatage ne semble pas être un bon PK pour un client. Ne devrait-il pas être "customer_id"? – Kos

+0

+1 Merci d'avoir attrapé un bug copier/coller :-) Le code client doit en effet être la clé primaire. Si tu ne me l'avais pas dit, je devrais t'avoir accordé la réponse à ma prochaine question :-) – Mawg

Répondre

4

La colonne de clé primaire doit être définie dans les CREATE TABLE entre parenthèses:

CREATE TABLE IF NOT EXISTS customers (
    customer_id TEXT NOT NULL, 
    time_stamp TIMESTAMP NOT NULL, 
    customer_info TEXT, 
    PRIMARY KEY (time_stamp) 
) 

Je suis curieux de savoir pourquoi vous n'avez pas customer_id un indexables type de données et donc la colonne de clé primaire ...

+2

+1: Me battre de six secondes ... –

+0

+1 D'oh !!! Comment ai-je manqué ça ?? !! – Mawg

+0

hmm, il me semble que je dois attendre 10 minutes pour vous donner la réponse ... – Mawg