phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

Ubah Tipe Data Kolom di seluruh Database - MySQL

Jika Anda tidak dapat menulis skrip untuk melakukan pekerjaan itu, tulis skrip yang menulis skrip untuk melakukan pekerjaan itu!

Anda menginginkan banyak pernyataan 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';

Ini akan mengakibatkan:

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

Jalankan itu dan kamu bisa pulang lebih awal!

UPDATE:Menghentikan pemotongan dengan menambahkan group_concat_max_len . Membuat panjang dinamis berdasarkan panjang kolom.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Bagaimana saya bisa menghapus konten semua tabel di database saya di phpMyAdmin tanpa menjatuhkan database?

  2. information_schema menunjukkan status tabel yang tidak diketahui:TABLE_TYPE mysql phpmyadmin

  3. cara mengimpor txt ke mysql langsung atau melalui php

  4. phpmyadmin error #162 - Entri duplikat '1' untuk kunci 1

  5. Bagaimana cara keluar dari phpMyAdmin 4.x - mungkin dengan peretasan?