PDA

View Full Version : Giúp về auto incresement



ndkhoa
07-09-2007, 01:17
Em chào các chú .

Các chú giúp em 1 việc nhé . Chả là em có 1 table , có column ID chưa đặt khóa chính giờ muốn đặt nhưng do nhiều thời gian trôi qua , ID này có nhiều giá trị bị trùng nhau , giò em muốn sửa lại bằng cách đặt lại tất cả các ID . Hiện có 16540 row nên sẽ có 16540 ID . Nhưng trong đó thì lại có 3000 ID là bị trùng . Ví dụ
1
1
1
2
2
2
2
3
3
4
5
5

Em có hỏi nhiều người và nhận đc 2 giải pháp . Mong các chú giúp thêm

- Xóa column ID , tạo lại column mới , update lại ID từ 1 đến 16540 <- nhưng làm thế nào để update ?
- Tạo 1 table mới , tạo 1 column ID mới có dữ liệu từ 1 đến 16540 , export sang table cũ <- nhưng làm thế nào để tao column ID mới có dữ liệu từ 1 đến 16540

Mong nhận đc sự giúp đỡ của các chú . Cảm ơn các chú đã đọc bài viết .

xbacala
07-09-2007, 03:11
Với SQL Sever thì dễ ợt

Dùng Enterprise Manager -> Design table -> Insert Column

Chọn datatype là INT, cho Identity=Yes rồi save là xong.
You có thể cho field mới này là primary key luôn.

NguyenTuanSinh
07-09-2007, 09:24
Chỉ có mỗi cách của bác xbacala thôi.
Không cần phải xóa trường ID cũ đi đâu. Bạn Thêm một trường mới và lam theo cách của bác xbacala la ok rồi.

ndkhoa
07-09-2007, 14:44
no no no . em cảm ơn các chú đã giúp nhưng ý em là em muốn tạo cái trường ID có 16540 row với dữ liệu là các số int từ 1 đến 16540 ( 1 , 2 , 3 , 4 , ... , 16540 )

xbacala
07-09-2007, 19:37
Thì làm theo tui chỉ đi, nếu table của you đã có 16540 thì số Identity tự động phát sinh sẽ có giá trị 1,2,3,4....16540

Hay là yêu cầu của you khác ?

ndkhoa
07-09-2007, 22:57
Quao , em làm được rồi . Làm y như chú xbacala nói . Work 100% . Cảm ơn chú xbacala nhiều lắm .