วิธีการลบคอลัมน์จากตารางใน MySQL


441

รับตารางที่สร้างโดยใช้:

CREATE TABLE tbl_Country
(
  CountryId INT NOT NULL AUTO_INCREMENT,
  IsDeleted bit,
  PRIMARY KEY (CountryId) 
)

ฉันจะลบคอลัมน์ได้IsDeletedอย่างไร

คำตอบ:


713
ALTER TABLE tbl_Country DROP COLUMN IsDeleted;

นี่คือตัวอย่างการทำงาน

โปรดทราบว่าCOLUMNคำหลักนั้นเป็นตัวเลือกเนื่องจาก MySQL จะยอมรับDROP IsDeletedเท่านั้น นอกจากนี้หากต้องการวางหลายคอลัมน์คุณต้องแยกพวกเขาด้วยเครื่องหมายจุลภาคและรวมDROPสำหรับแต่ละคอลัมน์

ALTER TABLE tbl_Country
  DROP COLUMN IsDeleted,
  DROP COLUMN CountryName;

นี้ช่วยให้คุณDROP, ADDและALTERหลายคอลัมน์ในตารางเดียวกันในคำสั่งอย่างใดอย่างหนึ่ง จากคู่มืออ้างอิง MySQL :

คุณสามารถออกหลายADD, ALTER, DROPและCHANGEคำสั่งในครั้งเดียวALTER TABLEคำสั่งคั่นด้วยเครื่องหมายจุลภาค นี่เป็นส่วนขยาย MySQL ไปยัง SQL มาตรฐานซึ่งอนุญาตเพียงหนึ่งประโยคต่อALTER TABLEคำสั่งเท่านั้น


96

ใช้ALTER TABLEกับDROP COLUMNเพื่อวางคอลัมน์จากตารางและCHANGEหรือMODIFYเพื่อเปลี่ยนคอลัมน์

ALTER TABLE tbl_Country DROP COLUMN IsDeleted;
ALTER TABLE tbl_Country MODIFY IsDeleted tinyint(1) NOT NULL;
ALTER TABLE tbl_Country CHANGE IsDeleted IsDeleted tinyint(1) NOT NULL;

คุณสามารถใช้คอลัมน์ Change หรือ Modify เพื่อทำสิ่งเดียวกัน ตรวจสอบลิงก์ที่จะทำให้คุณมีความคิดในการปรับปรุงคอลัมน์โดยใช้ ALTER TABLE
Saharsh Shah




11

หากคุณใช้งาน MySQL 5.6 เป็นต้นไปคุณสามารถทำการดำเนินการออนไลน์แบบนี้เพื่อให้เซสชันอื่นสามารถอ่านและเขียนลงในตารางของคุณในขณะที่ทำการดำเนินการได้

ALTER TABLE tbl_Country DROP COLUMN IsDeleted, ALGORITHM=INPLACE, LOCK=NONE;


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.