มีสองวิธีในการเปลี่ยนแปลงโครงสร้าง field ภายใน table ซึ่งหนึ่งในสองวิธีนั้นก็สามารถเปลี่ยนชื่อ field ได้ด้วย
วิธีแรกในการเปลี่ยนแปลงโครงสร้าง field ก็คือการใช้คำสั่ง MODIFY เราจะต้องกำหนดชื่อของ field ที่ต้องการแก้ไขโครงสร้าง ตามด้วยการประกาศโครงสร้างใหม่ เช่น สมมติว่าผมต้องการเปลี่ยนแปลงชนิดข้อมูลของ field "ID" จาก int ไปเป็น BIGINT และต้องการ กำหนดว่าใน field นี้สามารถมีข้อมูลได้เฉพาะจำนวนเต็มเท่านั้น ดังนั้นเราจะต้องใช้คำสั่งดังนี้ (ผมอ้างอิงตารางข้อมูลจากบทความที่แล้วนะครับ)
ALTER TABLE Employee MODIFY ID BIGINT UNSIGNED NOT NULL;
เมื่อเราตรวจสอบดูโครงสร้างใหม่อีกครั้งจะได้ผลลัพธ์ดังตารางนี้
| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| ID | bigint(20) unsigned | 0 | |||
| LastName | char(30) | ||||
| FirstName | char(30) | ||||
| PostCode | char(5) |
วิธีที่สองในการแก้ไขโครงสร้าง field ก็คือการใช้คำสั่ง CHANGE ซึ่งคำสั่งนี้จะสามารถแก้ไข field ได้ทั้งโครงสร้างของมันและชื่อของมันด้วย ในการใช้งานคำสั่งนี้ จะต้องระบุ keyword CHANGE ตามด้วยชื่อ field ที่มีอยู่แล้วใน table ตามด้วยชื่อ field ใหม่ และโครงสร้าง field เช่นถ้าต้องการเปลี่ยนแปลงโครงสร้าง field "LastName" จาก CHAR(30) ไปเป็น CHAR(40) จะต้องใช้คำสั่งดังนี้
# ในกรณีที่ไม่ต้องการเปลี่ยนชื่อ Field ALTER TABLE Employee CHA NGE LastName LastName CHAR(40) NOT NULL; # ในกรณีที่ต้องการเปลี่ยนชื่อ Field ALTER TABLE Employee CHANGE LastName Surname CHAR(40) NOT NULL;
ผู้สนับสนุน