sql_create

La fonction sql_create() permet de créer une table SQL selon le schéma indiqué.

Elle accepte 7 paramètres :

  • $nom est le nom de la table à créer
  • $champs est un tableau de description des colonnes
  • $clefs est un tableau de description des clefs
  • $autoinc : si un champ est clef primaire est numérique alors la propriété d’autoincrémentation sera ajoutée. false par défaut.
  • $temporary : est-ce une table temporaire ? par défaut : false
  • $serveur,
  • $option

Elle s’utilise comme ceci :

  1. sql_create("spip_tables",
  2. "id_table" => "bigint(20) NOT NULL default '0'",
  3. "colonne1"=> "varchar(3) NOT NULL default 'oui'",
  4. "colonne2"=> "text NOT NULL default ''"
  5. ),
  6. 'PRIMARY KEY' => "id_table",
  7. 'KEY colonne1' => "colonne1"
  8. )
  9. );

Télécharger

En règle général, pour un plugin, il vaut mieux déclarer la table SQL un utilisant les pipelines adéquats declarer_tables_principales et declarer_tables_auxiliaires, et utiliser les fonctions creer_base() ou maj_tables('spip_tables') lors de l’installation du plugin, qui appelleront si besoin sql_create(). Lire à ce titre le passage « Mises à jour et installation des tables ».

Exemple

Exemple de création d’une table « spip_mots_tordus » qui serait une liaison avec « spip_tordus ». Remarquer la clé primaire composée des 2 colonnes :

  1.  
  2. sql_create("spip_mots_tordus",
  3. "id_mot" => "bigint(20) NOT NULL default '0'",
  4. "id_tordu"=> "bigint(20) NOT NULL default '0'"
  5. ),
  6. 'PRIMARY KEY' => "id_tordu,id_mot"
  7. )
  8. );

Télécharger

Auteur Matthieu Marcillaud Publié le : Mis à jour : 17/05/10

Traductions : English, français