Thật không may, đối với một giải pháp độc lập với cơ sở dữ liệu, bạn sẽ cần biết mọi thứ về cột. Nếu nó được sử dụng trong các bảng khác làm khóa ngoại, chúng cũng cần được sửa đổi.
ALTER TABLE MyTable ADD MyNewColumn OLD_COLUMN_TYPE;
UPDATE MyTable SET MyNewColumn = MyOldColumn;
-- add all necessary triggers and constraints to the new column...
-- update all foreign key usages to point to the new column...
ALTER TABLE MyTable DROP COLUMN MyOldColumn;
Đối với các trường hợp đơn giản nhất (không có ràng buộc, trình kích hoạt, chỉ mục hoặc khóa), nó sẽ lấy 3 dòng trên. Đối với bất cứ điều gì phức tạp hơn, nó có thể rất lộn xộn khi bạn điền vào các phần còn thiếu.
Tuy nhiên, như đã đề cập ở trên, có những phương pháp dành riêng cho cơ sở dữ liệu đơn giản hơn nếu bạn biết cơ sở dữ liệu nào bạn cần sửa đổi trước thời hạn.