Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีเปลี่ยน Default Charset ของตาราง MySQL

คำสั่ง

ALTER TABLE yourTableName CONVERT TO CHARACTER SET yourCharsetName;

ตัวอย่าง

สร้างตาราง (Default Charset)

mysql> create table CharsetDemo (Id int, Name varchar(200), Age int);

เปลี่ยน Charset เป็น latin7

mysql> alter table CharsetDemo convert to character set latin7;
Query OK, 0 rows affected (1.59 sec)

ตรวจสอบ

mysql> show create table CharsetDemo;
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table       | Create Table                                                                                                                                                      |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CharsetDemo | CREATE TABLE `charsetdemo` (`Id` int(11) DEFAULT NULL, `Name` varchar(200) DEFAULT NULL, `Age` int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=latin7 |
+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+

DEFAULT CHARSET=latin7 ยืนยันการเปลี่ยนสำเร็จ

ข้อควรระวัง

  • CONVERT TO: แปลงข้อมูลเดิมให้เข้ากับ Charset ใหม่ (อาจใช้เวลานานถ้าข้อมูลเยอะ)
  • DEFAULT CHARACTER SET (ไม่มี CONVERT TO): เปลี่ยน Default สำหรับคอลัมน์ใหม่เท่านั้น ข้อมูลเก่าไม่เปลี่ยน
  • แนะนำใช้ utf8mb4 แทน latin7/utf8 เพื่อรองรับ Unicode เต็มรูปแบบ