2009-09-25 45 views
25

Hiện tại mỗi khi tôi thêm mục nhập vào cơ sở dữ liệu của mình, giá trị gia tăng tự động sẽ tăng thêm 1, vì nó cần. Tuy nhiên, nó chỉ ở mức 47. Vì vậy, nếu tôi thêm một mục mới, nó sẽ là 48, và một mục khác sẽ là 49, v.v.Thay đổi số lượng hiện tại của một giá trị tăng tự động trong MySQL?

Tôi muốn thay đổi bộ đếm Auto Increment hiện tại là gì . I E. Tôi muốn đổi từ 47 thành 10.000, để giá trị tiếp theo được nhập, sẽ là 10001. Làm thế nào để tôi làm điều đó?

Trả lời

69

Bạn có thể sử dụng ALTER TABLE để thiết lập giá trị của một cột AUTO_INCREMENT; trích dẫn trang đó:

Để thay đổi giá trị của AUTO_INCREMENT ngược lại được sử dụng cho hàng mới, thực hiện điều này:

ALTER TABLE t2 AUTO_INCREMENT = value; 

Ngoài ra còn có một lưu ý rằng:

Bạn không thể đặt lại bộ đếm thành giá trị nhỏ hơn hoặc bằng bất kỳ giá trị nào đã được đã sử dụng.
Đối với MyISAM, nếu giá trị nhỏ hơn hoặc bằng giá trị tối đa hiện tại trong cột AUTO_INCREMENT, giá trị là đặt lại tối đa hiện tại cộng một.
Đối với InnoDB, nếu giá trị nhỏ hơn giá trị lớn nhất hiện tại trong cột , không xảy ra lỗi và giá trị chuỗi hiện tại không bị thay đổi.

Hy vọng điều này sẽ hữu ích!

+1

Tôi muốn đề cập đến rằng bạn chỉ có thể thay đổi 'AUTO_INCREMENT' thành một số cụ thể. Biểu thức không được phép. Tôi đã cố gắng "bỏ qua" một số giá trị của 'ALTER TABLE t2 AUTO_INCREMENT = + value' và' ALTER TABLE t2 AUTO_INCREMENT = AUTO_INCREMENT + giá trị' nhưng cả hai đều dẫn đến một lỗi có vẻ hơi lạ. Phiên bản MySQL '5.6.33' – mrun

+0

tôi thử điều này nhưng không hoạt động –

12

Xem hướng dẫn cho ALTER TABLE - điều này nên làm điều đó:

ALTER TABLE [tablename] AUTO_INCREMENT = [number] 
7

bạn có thể nhận được rằng thực hiện bằng cách thực hiện các tuyên bố sau

ALTER TABLE t2 AUTO_INCREMENT = 10000; 

Vì vậy, tiếp theo quan trọng Auto Increment sẽ bắt đầu từ 10001.

Tôi hy vọng điều này sẽ giải quyết vấn đề

+7

Tại sao bạn lặp lại câu trả lời đã cho và bạn có bao gồm liên kết spam không? Làm ơn đừng làm thế. Lời chào là không cần thiết (tên của bạn đã xuất hiện dưới bài viết) và gửi thư rác cũng không (chỉ cần đặt nó trong hồ sơ người dùng của bạn). – BalusC

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