phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Променете типа на данни на колона в цялата база данни - MySQL

Ако не можете да напишете скрипт, който да свърши работата, напишете скрипт, който да напише скрипт, за да свърши работата!

Искате куп изрази 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';

Това ще доведе до:

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);

Пуснете това и можете да се приберете по-рано!

АКТУАЛИЗАЦИЯ:Спря отрязването чрез добавяне на group_concat_max_len . Направи дължината динамична въз основа на дължината на колоните.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. как да пропуснете дублирани записи при импортиране в phpmyadmin

  2. грешка localhost/phpmyadmin при даването на страницата не е намерена

  3. Разбиране на бази данни с първичен ключ и връзки с MySQL (phpmyadmin)

  4. Увеличаването на стойността в PHP скрипта не работи

  5. Мога ли да използвам транзакции с ALTER TABLE?