2012-05-23 56 views
33

Tôi muốn thay đổi vị trí cột của bảng cơ sở dữ liệu mà không làm mất dữ liệu.Làm thế nào để thay đổi vị trí cột của bảng MySql mà không làm mất dữ liệu cột?

Ví dụ:

bảng hiện tại:

+----+------+-------+----------+ 
| id | name | email | password | 
+----+------+-------+----------+ 

để

+----+----------+------+-------+ 
| id | password | name | email | 
+----+----------+------+-------+ 
+4

Tại sao nó mat ter? –

+5

Bình luận gì 'Tại sao nó lại quan trọng' Bởi vì một số người thích sử dụng' SELECT * 'và chuyển đổi nó từ mảng thành một bảng? –

+0

@Bondye Lý do duy nhất để thay đổi thứ tự của các cột là đặt chúng theo thứ tự thân thiện với người dùng hơn để đọc. Sự thay đổi mà anh ta cần không thực sự làm điều đó, về cơ bản là giống nhau. Và các truy vấn với 'SELECT *' đã là một dấu hiệu của SQL xấu. –

Trả lời

65

Hãy thử nó như thế này:

ALTER TABLE table_name MODIFY password varchar(20) AFTER id

+0

bạn đã kiểm tra xem nó có đang chạy không? – Addicted

+0

Để thẳng thắn tôi đã không kiểm tra này. Nhưng tôi sẽ làm việc. – Hearaman

+0

thanx, Nó hoạt động tốt. –

8

Câu trả lời của người trả lời là chính xác; nhưng nếu bạn đang sử dụng phpMyAdmin, có một cách trực quan và thiết thực để làm điều đó.

  1. Mở bảng
  2. Chọn "Cấu trúc" tab
  3. Bấm vào "cột Move"
  4. Kéo và thả tên cột

Move columns link, middle of the Structure tabMove columns popup

+0

Cách thức bạn tìm thấy tùy chọn "cột di chuyển". –

+0

@SouravSarkar ıt phải nằm ngay dưới bảng hiển thị cấu trúc. Phiên bản khác biệt có thể áp dụng mặc dù. –

+0

Trong đó @version bạn đã thấy tùy chọn? –

Các vấn đề liên quan