phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Zmień typ danych kolumny w całej bazie danych — MySQL

Jeśli nie możesz napisać skryptu, który wykona zadanie, napisz skrypt, który napisze skrypt, który wykona zadanie!

Potrzebujesz kilku instrukcji ALTER TABLE:

SET SESSION group_concat_max_len = 1000000; -- Bumps the limit of 1028
SELECT GROUP_CONCAT(
    CONCAT(
        'ALTER TABLE `',
        table_name,
        '` MODIFY COLUMN `',
        column_name,
        '` VARCHAR(',
        character_maximum_length,
        ')'
    )
SEPARATOR ';\n') your_alter_statements
FROM information_schema.columns
WHERE table_schema = 'concrete'
AND data_type = 'char';

Spowoduje to:

ALTER TABLE `table1` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table1` MODIFY COLUMN `col2` VARCHAR(10);
ALTER TABLE `table2` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table3` MODIFY COLUMN `col1` VARCHAR(10);
ALTER TABLE `table3` MODIFY COLUMN `col2` VARCHAR(10);

Uruchom to i możesz wrócić do domu wcześniej!

AKTUALIZACJA:Zatrzymano obcinanie, dodając group_concat_max_len . Uczyniono długość dynamiczną w oparciu o długość kolumn.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Instancja Amazon RDS MySQL działa bardzo wolno

  2. MySQL nie pokazuje baz danych utworzonych w phpMyAdmin

  3. Jak wyświetlić przyciski „edytuj”, „kopiuj” i „usuń” w phpMyAdmin?

  4. Wybierz i wyświetl wszystkie wiersze należące do określonego ID

  5. phpMyAdmin — Brakuje rozszerzenia MySQL