Tampilkan postingan dengan label mysql. Tampilkan semua postingan
Tampilkan postingan dengan label mysql. Tampilkan semua postingan

Selasa, 03 Mei 2016

Cara merubah collation mysql tabel dan kolom secara bersamaan

Langkah mudah untuk merubah collation seluruh isi database mysql,
yang dirubah yaitu :
- database default collation
- table collation
- column collation

caranya sbb :

1. lakukan pengecekan

SELECT * FROM information_schema.COLUMNS WHERE table_schema = 'imsdb' AND collation_name != 'utf8_unicode_ci';
SELECT * FROM information_schema.TABLES WHERE table_schema = 'imsdb' AND table_collation != 'utf8_unicode_ci';


2. rubah db nya
ALTER DATABASE imsdb CHARACTER SET utf8 COLLATE utf8_unicode_ci;
SET FOREIGN_KEY_CHECKS = 0;


3. generate QUERY pengubah tabel lalu jalankan
SELECT
    CONCAT('ALTER TABLE ',  table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;') -- INTO OUTFILE '/alterstatements.sql'
FROM
    information_schema.tables
WHERE
    table_schema='imsdb'
    -- AND table_collation != 'utf8_unicode_ci'
GROUP BY table_name;


3. generate QUERY pengubah COLUMNS lalu jalankan
--
SELECT
    CONCAT('ALTER TABLE ',  table_name,' CHANGE `',COLUMN_NAME, '` `',COLUMN_NAME, '` ',COLUMN_TYPE,' CHARSET utf8 COLLATE utf8_unicode_ci;') -- INTO OUTFILE '/alterstatements.sql'
FROM
    information_schema.COLUMNS
WHERE
    table_schema='imsdb'
    -- AND table_collation != 'utf8_unicode_ci'
GROUP BY table_name;


4. kembalikan fk checks
SET FOREIGN_KEY_CHECKS = 1;

selamat mencoba
arif