Làm cách nào để thay đổi số tiền auto_increment
trường trong tăng MySQL từ từ mặc định (1) sang n?Thay đổi các trường auto_increment bước tăng thêm
Trả lời
Bạn có thể thay đổi nó bằng cách sử ALTER TABLE
:
ALTER TABLE table AUTO_INCREMENT = n;
Hoặc nếu bạn muốn làm thiết lập nó từ đầu:
CREATE TABLE table (...) AUTO_INCREMENT = n;
Tôi không * nghĩ * điều đó làm những gì anh ta muốn (nó trả lời câu hỏi anh ta hỏi trong phần câu hỏi của anh ta, nhưng không phải là câu hỏi trong tiêu đề). Câu hỏi chắc chắn là mơ hồ. –
Vâng, điều này không làm những gì anh ấy đang cố gắng làm (bây giờ tôi đã chỉnh sửa câu hỏi để hy vọng làm cho nó rõ ràng hơn). –
Nếu bạn muốn thay đổi bước autoincrement từ 1 đến N thì có một giải pháp. Nó có thể được thực hiện trên phía máy chủ MySQL: tìm tùy chọn khởi động '--auto-increment-increment' hoặc sử dụng lệnh sau SET @@auto_increment_increment=2;
, nhưng được cảnh báo rằng đây là một thay đổi trên máy chủ (tất cả các bảng sẽ tăng thêm 2).
giải pháp Unortodox thể mà có thể được xem xét:
- Launch hai máy chủ MySQL trên cùng một máy, với các cảng khác nhau (một với
auto_increment_increment=1
khác vớiauto_increment_increment=2
) - Sử dụng một số serverside kỳ diệu (PHP, ASP,? ??) kết hợp với việc tắt các bảng
auto_increment
để tính toán theo cách thủ công (xem nhanh ở id cuối cùng và + = 2 sẽ là ok) và cung cấp id trong truy vấnINSERT
.
hi, tôi đã kiểm tra faq i am chút nhầm lẫn [bạn có thể đặt mỗi máy chủ để tạo các giá trị gia tăng tự động không xung đột với các máy chủ khác. Giá trị tăng -auto-increment phải lớn hơn số lượng máy chủ (từ trang đó)] bất kỳ phần nào của cơ thể có thể giải thích điều này không? – sansknwoledge
ý tưởng là: máy chủ = {db1, db2, db3}; db01: {- auto-increment-offset = 0; - tăng tự động gia tăng = 3}; db02: {- auto-increment-offset = 1; - auto-increment-increment = 3}; db03: {--auto-increment-offset = 2; - tăng tự động gia tăng = 3}; vì vậy, db1 chỉ tạo ID trong đó (n% 3) == 0, cho db2 (n% 3) == 1, cho db3 (n% 3) == 2; tức là db1: "3,6,9, ..." db2: "1,4,7, ..." db3: "2,5,8" -> không có xung đột id – Piskvor
@Piskvor cảm ơn bạn đã làm rõ, nhưng nếu tôi đang có nhiều hơn một bảng trong db của tôi tất cả với các cột autogenerate và tôi muốn chỉ có một bảng để tăng trong các bước nói 2 và phần còn lại làm theo 3 những gì tôi nên làm gì? – sansknwoledge
alter table <table name> auto_increment=n
trong đó n là số bạn muốn bắt đầu
Điều này không điều chỉnh bước nó điều chỉnh giá trị bắt đầu. –
Đây chỉ là giá trị bắt đầu –
Bạn cũng có thể sử dụng ALTER SEQUENCE sequence_name tăng bởi N trong đó N là giá trị incremnent mới.
-1 Điều này không áp dụng cho MySQL. –
Ồ, đó là một sai lầm lớn –
- 1. Trong cơ sở dữ liệu H2, trường auto_increment được tăng thêm 32?
- 2. Mysql - Thay đổi một cột thành AUTO_INCREMENT
- 3. Loại đầu vào HTML5 = hành vi bước thay đổi số
- 4. Thay đổi kích thước bước của NumberPicker
- 5. Thay đổi màu tăng dần
- 6. thay đổi bảng thêm ... trước `mã`?
- 7. Cuộn UIScrollView ngang theo bước tăng?
- 8. Hibernate không tôn trọng MySQL auto_increment trường khóa chính
- 9. Các bước trong chuyển đổi bối cảnh
- 10. Thay đổi giá trị bước trong thanh tìm kiếm?
- 11. thay đổi kích thước bước mở rộng trục trong ggplot2
- 12. Thay đổi trường hợp thay người
- 13. số hàng tăng khi giá trị của thay đổi trường trong Oracle
- 14. Tôi cần phải auto_increment một trường trong MySQL mà không phải là khóa chính
- 15. Thay đổi trường hợp chữ cái của các tên cột
- 16. auto_increment theo nhóm
- 17. Làm cách nào để thay đổi khóa chính trong SQL thành auto_increment?
- 18. Bảng MySQL tăng thêm 10 vì lý do nào đó
- 19. Chia sẻ lại các trường thay đổi thành chỉ đọc
- 20. Dạng góc - chỉ gửi các trường đã thay đổi
- 21. Làm cách nào để thay đổi thứ tự các trường?
- 22. Các bước để thay đổi mẫu quy trình cho dự án hiện có trong TFS 2010
- 23. Làm cách nào để chặn số hàng cho các bảng được thêm (AUTO_INCREMENT = N) vào đầu ra mysqldump?
- 24. Số hàng tăng thêm trên nhóm
- 25. Thay đổi biến môi trường trong eclipse
- 26. Thêm bước xây dựng tùy chỉnh với gói gói thầu
- 27. Thay đổi trường nhập trước khi gửi
- 28. (MySql) Tại sao NOT NULL thêm vào trường khóa chính? ?
- 29. GIT thêm hoàn nguyên trong trường hợp của tôi (giữ thay đổi)
- 30. Tăng thêm Javascript hơn 1?
Bạn có muốn thay đổi giá trị tiếp theo được sử dụng hay bước đang được sử dụng giữa các giá trị (ví dụ: giá trị bước 2, sử dụng 1, 3, 5, 7 v.v ...)? –
xin lỗi nếu câu hỏi là mơ hồ có đúng tôi muốn auto_increment nên được thực hiện như đã nêu bởi bạn (như danh tính (1,3) trong máy chủ sql mà tăng giá trị tiếp theo bằng 3) – sansknwoledge
@sansknwoledge - Tôi đã chỉnh sửa câu hỏi để hy vọng làm cho nó hỏi những gì bạn có nghĩa là! –