2012-04-25 44 views
12

Về cơ bản, tôi hiện đang có một cột trong bảng MySQL, đó là một int.Thay đổi Cột trong MySQL từ int thành gấp đôi?

Tôi muốn thay đổi điều đó thành gấp đôi. Tôi đã tìm kiếm trên web, nhưng tất cả nó đã được đưa ra là chuyển đổi khi nhận được các giá trị từ cột (như chuyển đổi một số ngày sang ngày), nhưng đó không phải là những gì tôi có ý nghĩa.

Tôi đoán đó là một cái gì đó với Bảng thay đổi, và tôi đã tìm kiếm trên trang dev MySQL, nhưng không thể tìm thấy những gì tôi đang tìm kiếm.

+0

Tôi đoán bạn có nghĩa là "cột", không phải "hàng"? – eggyal

+0

Vâng, đó là những gì tôi đề cập. – Lolmewn

Trả lời

22

Đây là cú pháp thực. Hãy chắc chắn để thiết lập giá trị null thích hợp quá:

ALTER TABLE your_table 
MODIFY COLUMN your_column DOUBLE NULL; 

hoặc

ALTER TABLE your_table 
MODIFY COLUMN your_column DOUBLE NOT NULL; 
+0

Nullability là tùy chọn trong [*** 'column_definition' ***] (http://dev.mysql.com/doc/refman/5.6/en/create-table.html) - nó mặc định là' NULL' nếu không được chỉ định; tại sao không tranh luận tất cả các thuộc tính tùy chọn khác cũng nên được chỉ định thay cho việc chấp nhận các giá trị mặc định của chúng? – eggyal

+1

Tôi đang cố gắng giúp OP tránh vô tình thay đổi nullability khi họ thay đổi kiểu dữ liệu. Chắc chắn điều tương tự cũng đúng đối với các giá trị mặc định, v.v. nhưng tôi đã cố gắng giải quyết tình huống có khả năng nhất. Nếu cột ban đầu là NOT NULL và OP sử dụng câu trả lời của bạn, thì cột sẽ thay đổi thành NULL. –

+0

Cảm ơn Ike - Tôi nghĩ rằng lời giải thích là rất hữu ích (hy vọng cho OP quá). +1 – eggyal

4

Bạn nói đúng rằng bạn cần sử dụng ALTER TABLE. Lệnh sẽ trông giống như sau:

ALTER TABLE tablename MODIFY COLUMN columnname DOUBLE; 
+0

Sẽ thử ngay bây giờ, cảm ơn bạn đã đăng bài nhanh chóng. – Lolmewn

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