PHP mySQL pour PDO requête de création de table s'il n'existe pas

À l'aide de PHP PDO requête à exécuter une requête mySQL. La requête est constituée d'une multitude de renseignements entrés à partir foreach(); j'ai donc l'écho de suite la requête sql. Le problème réside ici, mais je ne le vois pas.

C'est la sortie de $sql

CREATE TABLE IF NOT EXISTS `page` (
  `page_ID` INT AUTO_INCREMENT NOT NULL,
  `url` varchar(200) NOT NULL,
  `title` varchar(200),
  `subtitle` TEXT,
  `content` TEXT,
  `parent` varchar(10),
  `privacy` varchar(1),
  `status` varchar(1),
  `creation` varchar(30)
) CHARACTER SET utf8 COLLATE utf8_general_ci;

Pour info l'exécution de la requête comme ceci:

function createdbtable($table,$fields){
    global $fsdbh;
    $sql = "CREATE TABLE IF NOT EXISTS `$table` (";
    foreach($fields as $field => $type){ $sql.= "`$field` $type,"; }
    $sql = rtrim($sql,',');
    $sql .= ") CHARACTER SET utf8 COLLATE utf8_general_ci"; return $sql;
    if($fsdbh->exec($sql) !== false) { return 1; }
}

C'est l'erreur:

#1075 - Mauvaise définition de la table; il peut y avoir une seule colonne de voiture et il doit être défini comme une clé

Et... quel est le problème?
Dans la requête SQL comme indiqué
Quelle est l'erreur?
Ne vous obtenez des erreurs...? Avez-vous vérifié?
Et... quel est le problème?

OriginalL'auteur Robin Knight | 2012-08-23