Script pour tous les champs de la base de données:
SELECT
table_name,
column_name,
CONCAT('ALTER TABLE `',
table_name,
'` CHANGE `',
column_name,
'` `',
column_name,
'` ',
column_type,
' ',
IF(is_nullable = 'YES', '' , 'NOT NULL '),
IF(column_default IS NOT NULL, concat('DEFAULT ', IF(column_default = 'CURRENT_TIMESTAMP', column_default, CONCAT('\'',column_default,'\'')), ' '), ''),
IF(column_default IS NULL AND is_nullable = 'YES' AND column_key = '' AND column_type = 'timestamp','NULL ', ''),
IF(column_default IS NULL AND is_nullable = 'YES' AND column_key = '','DEFAULT NULL ', ''),
extra,
' COMMENT \'',
column_comment,
'\' ;') as script
FROM
information_schema.columns
WHERE
table_schema = 'my_database_name'
ORDER BY table_name , column_name
- Exporter tout dans un fichier CSV
- Ouvrir sur votre csv favori edi tor
Remarque: Vous pouvez améliorer à une seule table si vous préférez
La solution donnée par @Rufinus est grande, mais si vous avez incrémente automatiquement il va le casser.
Cela semble fonctionner correctement, mais existe-t-il un autre moyen de le faire sans inclure la définition de la colonne? –
j'ai joué autour, mais cela n'a pas fonctionné. c'était l'ensemble minimum, peut-être il y a un autre moyen. – Rufinus
Cette solution peut casser les incréments automatiques. – workdreamer