Select theo thứ tự insert của record trong bảng có khóa chính

ThanhNhan

Active Member
30/12/10
1,666
14
38
Mình tạo bảng trong mysql như sau

CREATE TABLE `domainmonitor`.`testtable` (
`usename` VARCHAR(100) NOT NULL,
`name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`usename`)
)
ENGINE = InnoDB;
inset từng dòng tương ứng theo thứ tự c b a b
Sau khi insert dữ liệu thì khi select
SELECT * FROM testtable t;
dữ liệu bị tự động sắp xếp theo cột usename
Chỉ giáo mình 2 vấn đề:
1. Có cách nào select ra kết quả như khi không có khóa chính, tức là kết quả sẽ theo thứ tập nhập vào.
2. Có cách nào select ra kết quả như khi không có khóa chính mà lại đảo ngược được thứ tự.
thanks.
 

nasural

Active Member
11/2/11
379
87
28
sau khi select thì nó sẽ mặc định theo thứ tự a bc, còn ngược lại thì có thể thêm vào trong câu lệnh select, bạn chịu khó tìm câu lên này trên google nhé(vì mình quên rồi:)))
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Không thể sử dụng esc hay desc được vì nó sử dụng cho câu lệnh order by, khi đã order by thì phải by column nào đó chứ không thể theo thứ tự được insert vào bạn à. Google chẳng hiểu được mình nói gì :D
 

Nancru

CongDongJava Project Leader
Staff member
9/10/11
1,640
307
83
Khóa chính là varchar thì đương nhiên nó sắp xếp theo varchar, thường phải có cái cột id PK kiểu int cho nó tự tăng. Sắp xếp cũng nhanh hơn do toàn là số, và cũng sắp xếp theo thời gian insert được nữa.
 

SITUVN

Well-Known Member
25/2/12
965
262
63
Hoặc là thêm một cột nữa vào và cột đó tăng dần (int) mỗi lần chèn vào nó sẽ tăng dần nên dùng nó sẽ sắp xếp được thứ tự theo thời gian chèn vào.
Hoặc là dùng kiểu ngày giờ cho cột đó để biết luôn thời gian chèn và sắp xếp được luôn.
 

ThanhNhan

Active Member
30/12/10
1,666
14
38
Hoặc là thêm một cột nữa vào và cột đó tăng dần (int) mỗi lần chèn vào nó sẽ tăng dần nên dùng nó sẽ sắp xếp được thứ tự theo thời gian chèn vào.
Hoặc là dùng kiểu ngày giờ cho cột đó để biết luôn thời gian chèn và sắp xếp được luôn.
Đành làm như thế thôi. Tớ phải thêm một cột là insertdate để lưu ngày nhập.
Siêng tí nữa thì lấy dữ liệu của bảng ra tạo một bảng mới có thêm cột thứ tự nhập thôi.