Làm cách nào tôi có thể đặt lại tự động tăng bảng mysql thành 1 trong phpMyAdmin?


19

Tôi biết rằng trong MySQL tại dòng lệnh tôi có thể đặt lại trường tăng tự động của bảng thành 1 với điều này:

ALTER TABLE tablename AUTO_INCREMENT = 1

Tôi tò mò nếu có một cách để làm điều này từ bên trong phpMyAdmin. Một cái gì đó giống như một hộp kiểm để thiết lập lại mức tăng tự động hoặc một cái gì đó khác dọc theo các dòng đó?

Không có gì sai với cách tiếp cận dòng lệnh. Thêm một trong những điều tò mò mà tôi tiếp tục nghĩ đến ... Cảm ơn trước!

Câu trả lời:


19

phpmyadmin

Có lẽ bạn chỉ cần chọn tab Thao tác phpMyAdmin:

  • Trong phpMyAdmin, nhấp vào bảng bạn muốn đặt lại hoặc thay đổi giá trị AUTO_INCREMENT
  • Nhấp vào tab Hoạt động
  • Trong hộp Tùy chọn bảng tìm trường auto_increment.
  • Nhập giá trị bắt đầu auto_increment mới
  • Nhấp vào nút Bắt đầu cho hộp Tùy chọn Bảng.

Vì đây là một trong những câu hỏi thường gặp nhất cho phpmyadmin, bạn có thể tìm hiểu thêm về điều này trong blog này: http://trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html

Thông tin bổ sung

Đối với một bảng trống , một cách khác để đặt lại thuộc tính auto_increment là chạy

TRUNCATE TABLE mydb.tablename;

Đừng chạy cái này nếu bạn có dữ liệu trong đó. Nếu bạn muốn vòi dữ liệu, hãy là khách của tôi.

Trong phpmyadmin, chỉ cần nhấp vào SQLtab, nhập lệnh và chạy nó.

Đối với bảng không trống , bạn có thể muốn điều chỉnh thuộc tính auto_increment thành id hiện có cao nhất đang sử dụng trong trường hợp các mục cao hơn bị xóa.

Đầu tiên, tối ưu hóa bảng

OPTIMIZE TABLE mydb.mytable;

Tiếp theo, xác định giá trị cao nhất cho cột auto_increment (giả sử là vậy id)

SELECT MAX(id) maxid FROM mydb.mytable;

Giả sử câu trả lời trả về 27. Goto tab Thao tác và nhập 28.


+1 cho cắt ngắn, tôi đã bỏ và tạo lại.
mckenzm

@mckenzm Dưới mui xe, TRUNCATE TABLE đang thả và tạo lại ( dev.mysql.com/doc/refman/5.6/en/ Kẻ )
RolandoMyQueryDBA

@mckenzm Tôi vừa đọc hồ sơ của bạn. 25 năm của COBOL ??? Bạn nghèo khổ dằn vặt tâm hồn.
RolandoMySQLDBA

TBH có lẽ là 13 lần trong hai năm tương tự ... và rất nhiều điều đơn giản, SQL nhúng, CICS cấp lệnh, VMS System gọi ... Các macro được xử lý trước. Thứ Lego.
mckenzm

11

Là một bổ sung cho (các) câu trả lời khác, tôi muốn một cách tiếp cận trực quan hơn:

  1. Bấm vào bảng bạn muốn thay đổi.

  2. Bấm Operations:

nhập mô tả hình ảnh ở đây

  1. Xem trong " Tùy chọn bảng ":

nhập mô tả hình ảnh ở đây

Cũng lưu ý rằng:

-§-   Bạn không thể thiết lập lại các truy cập đến một giá trị nhỏ hơn hoặc bằng với giá trị hiện đang được sử dụng. Đối với cả InnoDB và MyISAM, nếu giá trị nhỏ hơn hoặc bằng giá trị tối đa hiện tại trong AUTO_INCREMENTcột, giá trị được đặt lại thành AUTO_INCREMENTgiá trị cột tối đa hiện tại cộng với một.


1
Tôi vẫn sử dụng phpMyAdmin 4.0.1-rc1. Tôi đoán nó đã quá cũ, vì tôi không có tùy chọn AUTO_INCREMENT trên trang đó.
Kar.ma

-2
SET @num := 0;
UPDATE tablename SET id = @num := (@num+1);
ALTER TABLE tablename AUTO_INCREMENT = 1;

2
Và những gì về tất cả các dữ liệu liên quan?
Colin 't Hart
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.