Services webmasters
Partenaires
Jeux concours gratuits
 
Sécurité
<<<
Migration d'une autre base SQL Notes sur l'utilisation de types SQL divers
>>>

7.93 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.93.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.

<< Migration d'une autre base SQL >>
Sécurité SESAM Notes sur l'utilisation de types SQL divers
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -