phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Thay đổi kiểu dữ liệu của cột trong toàn bộ cơ sở dữ liệu - MySQL

Nếu bạn không thể viết một đoạn script để thực hiện công việc, hãy viết một đoạn script viết một đoạn script để thực hiện công việc!

Bạn muốn một loạt các câu lệnh 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';

Điều này sẽ dẫn đến:

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

Chạy cái đó và bạn có thể về nhà sớm!

CẬP NHẬT:Đã dừng việc cắt bớt bằng cách thêm group_concat_max_len . Tạo độ dài động dựa trên độ dài cột.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Sự cố xác thực PHP, MySQL và tìm kiếm không hoạt động?

  2. phpMyAdmin trong Xampp không hoạt động

  3. phpmyadmin xuất sang csv cho excel

  4. WAMP đã cài đặt lại, không tìm thấy bảng Wordpress NHƯNG có trong PHPMYADMIN

  5. Làm thế nào để viết một thủ tục được lưu trữ trong phpMyAdmin?