-
เนื่องจากความต้องการทางธุรกิจ ฉันจำเป็นต้องแก้ไขประเภทข้อมูลของฟิลด์บางฟิลด์จากหมายเลข (5) เป็นหมายเลข (5,2)
หากไม่มีข้อมูล เพียงใช้คำสั่งต่อไปนี้
แก้ไขตาราง tb_test แก้ไขหมายเลขสิทธิ์ (5,2);
แต่ถ้าคุณมีข้อมูล คุณจะไม่สามารถใช้วิธีข้างต้นได้
แก้ไขตาราง tb_test เพิ่มหมายเลข permile_temp (5,2)
อัปเดต tb_test ชุด permile_temp=permile;
แก้ไข permile คอลัมน์ดรอปของตาราง
แก้ไขการทดสอบตารางเปลี่ยนชื่อคอลัมน์ permile_temp เป็น permile;
วิธีนี้จะทำให้ชื่อคอลัมน์เปลี่ยนแปลง และการเพิ่มลำดับฟิลด์อาจทำให้เกิดการโยกย้ายแถว ซึ่งจะส่งผลต่อแอปพลิเคชัน
วิธีการต่อไปนี้เป็นวิธีที่ดีกว่า
ไม่จำเป็นต้องเปลี่ยนชื่อคอลัมน์และจะไม่มีการโยกย้ายตารางเกิดขึ้น แต่มีข้อเสียคือต้องอัปเดตตารางสองครั้ง
หากปริมาณข้อมูลมีขนาดใหญ่ ระบบจะสร้างการเลิกทำและทำซ้ำมากขึ้น และข้อกำหนดเบื้องต้นคือการปิดเครื่อง
หากไม่มีการหยุดทำงาน คุณสามารถใช้คำจำกัดความใหม่ทางออนไลน์ได้
นี่คือสคริปต์:
แก้ไขตาราง tb_test เพิ่มหมายเลข permile_temp;
เพิ่ม/แก้ไขคอลัมน์
แก้ไขตาราง tb_test แก้ไข PERMILE null;
อัปเดตชุด tb_test permile_temp=permile,permile=null;
ให้สัญญา;
แก้ไขตาราง tb_test แก้ไขหมายเลขสิทธิ์ (5,2);
อัปเดตชุด tb_test permile=permile_temp,permile_temp=null;
ให้สัญญา;
แก้ไขตาราง tb_test คอลัมน์ดร็อป permile_temp;
แก้ไขตาราง tb_test แก้ไข PERMILE ไม่เป็นโมฆะ;
เลือก * จาก tb_test;
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/luinstein/archive/2009/12/21/5049010.aspx