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

MySQL: สร้างคอลัมน์ NVARCHAR (แปลงเป็น VARCHAR อัตโนมัติ)


คำอธิบาย

ใน MySQL NVARCHAR เป็น Alias ของ VARCHAR ระบบจะแปลงเป็น VARCHAR อัตโนมัติ พร้อมแสดง Warning

ขั้นตอนการสร้างตาราง

mysql> create table DemoTable ( 
    StudentName NVARCHAR(40), 
    StudentCountryName VARCHAR(50) ); 
Query OK, 0 rows affected, 1 warning (0.49 sec)

ตรวจสอบโครงสร้างตาราง

mysql> desc DemoTable;

ผลลัพธ์ (NVARCHAR กลายเป็น VARCHAR):

+--------------------+-------------+------+-----+---------+-------+
| Field              | Type        | Null | Key | Default | Extra |
+--------------------+-------------+------+-----+---------+-------+
| StudentName        | varchar(40) | YES  |     | NULL    |       |
| StudentCountryName | varchar(50) | YES  |     | NULL    |       |
+--------------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

การเพิ่มข้อมูลและทดสอบ

mysql> insert into DemoTable values('Chris', 'US'); 
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('Tom', 'UK'); 
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David', 'AUS'); 
Query OK, 1 row affected (0.11 sec)

แสดงข้อมูล

mysql> select * from DemoTable;

ผลลัพธ์:

+-------------+--------------------+
| StudentName | StudentCountryName |
+-------------+--------------------+
| Chris       | US                 |
| Tom         | UK                 |
| David       | AUS                |
+-------------+--------------------+
3 rows in set (0.00 sec)

คำอธิบายเพิ่มเติม

  • NVARCHAR = National VARCHAR (สำหรับ Unicode/Character Set ต่างประเทศ)
  • MySQL จัดการ Unicode ด้วย CHARACTER SET (utf8mb4) และ COLLATION แทน
  • ไม่จำเป็นต้องใช้ NVARCHAR ให้ใช้ VARCHAR พร้อมกำหนด CHARACTER SET utf8mb4 แทน
  • รองรับภาษาไทย, จีน, ญี่ปุ่น, อีมอจิ ได้เต็มที่

แนะนำ: ระบุ Character Set ชัดเจน

CREATE TABLE DemoTable (
    StudentName VARCHAR(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
) CHARACTER SET utf8mb4;