2009-08-16 6 views
0
CREATE TABLE `pastebin` (
     `pid` int(11) NOT NULL auto_increment, 
     `poster` varchar(16) default NULL, 
     `posted` datetime default NULL, 
     `code` text, 
     `parent_pid` int(11) default '0', 
     `format` varchar(16) default NULL, 
     `codefmt` mediumtext, 
     `codecss` text, 
     `domain` varchar(255) default '', 
     `expires` DATETIME, 
     `expiry_flag` ENUM('d','m', 'f') NOT NULL DEFAULT 'm', 

     PRIMARY KEY (`pid`), 
     KEY `domain` (`domain`), 
     KEY `parent_pid`, 
     KEY `expires` 
    ); 

Après avoir créé une base de données et de copier-coller la requête SQL dans phpMyAdmin j'obtiens l'erreur suivante:Quel est le problème avec cette définition d'index dans cette requête MySQL?

#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 ' 
    KEY `expires` 
)' at line 16 

Répondre

1

Vous devez spécifier les colonnes que vous souhaitez avoir indexé entre parenthèses après le nom du indice.

Au bas de votre définition:

PRIMARY KEY (`pid`), 
    KEY `domain` (`domain`), 
    KEY `parent_pid`, 
    KEY `expires` 

deviendrait:

PRIMARY KEY (`pid`), 
    KEY `domain` (`domain`), 
    KEY `parent_pid` (`parent_pid`), 
    KEY `expires` (`expires`) 
+0

Merci, cela a semblé fonctionner. J'ai vraiment besoin d'apprendre MySQL ... – PHLAK

1
CREATE TABLE `pastebin` (
     `pid` int(11) NOT NULL auto_increment, 
     `poster` varchar(16) default NULL, 
     `posted` datetime default NULL, 
     `code` text, 
     `parent_pid` int(11) default '0', 
     `format` varchar(16) default NULL, 
     `codefmt` mediumtext, 
     `codecss` text, 
     `domain` varchar(255) default '', 
     `expires` DATETIME, 
     `expiry_flag` ENUM('d','m', 'f') NOT NULL DEFAULT 'm', 

     PRIMARY KEY (`pid`), 
     KEY `domain` (`domain`), 
     KEY `parent_pid` (`parent_pid`), 
     KEY `expires` (`expires`) 
    ); 

index doivent noms, car ils sont des entités dans la base de données.

Questions connexes