7.94 SESAM 
7 Index des fonctions 
 Manuel PHP 
 . Introduction . Configuration à l'exécution . Notes sur la configuration . Considérations à l'exécution . Types de curseurs . Portage . Sécurité ->Migration d'une autre base SQL . Notes sur l'utilisation de types SQL divers . Support des "champs multiples" de SESAM . Voir aussi . sesam_affected_rows . sesam_commit . sesam_connect . sesam_diagnostic . sesam_disconnect . sesam_errormsg . sesam_execimm . sesam_fetch_array . sesam_fetch_result . sesam_fetch_row . sesam_field_array . sesam_field_name . sesam_free_result . sesam_num_fields . sesam_query . sesam_rollback . sesam_seek_row . sesam_settransaction
 
  | 
 
  7.94.8 Migration d'une autre base SQL 
 
     Deux langage SQL ne sont jamais 100% compatibles. Lorsque vous portez
     une application SQL depuis une autre interface vers SESAM,
     certaines adaptation doivent être faîtes. Les différences suivantes
     sont les plus courantes :
      
 
- 
        Types de données spécifiques
       
        Certains types de données spécifiques à une base doivent être
        remplacés par les types de données standard SQL.
        (i.e.,  
TEXT
  doit être remplacé par
         
VARCHAR(taille max)
 ).
         
- 
        Mots reservés comme identifiants SQL.
       
        En SESAM (comme dans le standard SQL), les mots
        reservés utilisés comme identifiants doivent être entourés
        de guillemets doubles (ou renommés).
         
- 
        Taille d'affichage des données.
       
        Les types de données SESAM ont une taille de stockage, mais
        par de taille d'affichage. A la place de  
int(4)
 
        (c'est à dire : les entiers jusqu'à '9999'), SESAM requiert simplement
         
int
 , pour une taille implicite de 31 bits. De même,
        les seuls types de date disponible dans SESAM sont :
         
DATE
 ,  
TIME(3)
  et
         
TIMESTAMP(3)
 .
         
- 
        Les types de données  
unsigned
  (non signé),
         
zerofill
  (complété avec des zéros), ou
         
auto_increment
Unsigned
  et  
zerofill
  ne sont pas
        supportés.  
Auto_increment
  est automatique
        (utilisez  
"INSERT ... VALUES(*, ...)"
  au lieu de
         
"... VALUES(0,...)"
  pour profiter des auto-increment
        implicites de SESAM.
         
- 
int ... DEFAULT '0000'
        Les variables numériques ne doivent pas être initialisées
        avec des constantes de type chaîne de caractères. Utilisez
         
DEFAULT 0
  à la place. Pour initialiser une
        date, la chaîne doit être préfixée avec le type de date
        adapté, tel que :
         
 CREATE TABLE exmpl (xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT 
NULL
); 
  
- 
$count = xxxx_num_rows();
        Certaines bases de données essaient d'estimer le nombre
        de lignes d'un résultat, même grossièrement approximativement.
        SESAM ne connait pas le nombre de lignes avant de les
        avoir lues lui-même. Si vous avez vraiment besoin de
        les compter, utilisez la commande
         
SELECT COUNT(...) WHERE ...
 , qui vous dira
        combien de lignes sont disponibles. Une deuxième requête
        devrait vous retourner tous ces résultats.
         
- 
DROP TABLE lenom;
        Avec SESAM, dans la commande  
DROP TABLE
 ,
		le nom de la table doit être suivi du mot clé
		 
RESTRICT
  ou  
CASCADE
 . Avec
		 
RESTRICT
 , une erreur est retounrée si il y a des
		objets dépendant (par exemple, des vues), tandis qu'avec
		 
CASCADE
 , les objets dépendants seront
		supprimés en même temps que la table.
         
 
 |