2017-02-16 1 views
0

pour une base de données avec 100 tables, et toutes les tables ont une colonne nommée "pays varchar (20) non null". À l'heure actuelle, nous avons un gros fichier SQL qui a été jeté il y a un certain temps et toutes les tables n'ont pas de colonne de pays. Comment définir la valeur par défaut de la colonne country = "US" lors de l'exécution de la commande ci-dessus?mysql comment définir la valeur par défaut de la colonne lors d'une exécution sql

schéma de table à langer

country varchar(20) not null default "US" 

pas acceptable, car la base de données est vivant et utilisé par d'autres.

La difficulté consiste à modifier le fichier SQL en ajoutant la colonne country pour chaque commande create et insert. C'est ce que nous voulons éviter. Y at-il des outils comme sql parser qui permet à l'utilisateur de manipuler des fichiers SQL?

Merci.

Répondre

0

Bien que cela rende un INSERT s un peu plus lent, une façon de le faire serait d'écrire BEFORE INSERT triggers pour les tables qui ont country colonne et définir la valeur avant qu'une ligne soit insérée.

Here est la documentation du déclencheur BEFORE INSERT.