Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
Xin ý kiến mọi người về tạo unique ID trong database
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  10 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Hùng Nguyễn  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 10:31 pm
From: Hùng Nguyễn <aotu...@gmail.com>
Date: Mon, 26 Dec 2011 19:31:37 -0800 (PST)
Local: Mon, Dec 26 2011 10:31 pm
Subject: Xin ý kiến mọi người về tạo unique ID trong database
Chào các bác,
Chả là hiện tại em muốn tạo Unique ID cho sản phẩm trong database, mỗi
UID này có chiều dài 7 ký tự. Em đang phân vân 1 chút trong việc tạo
ra UID này như sau:
+ Column dạng char thì tốc độ truy vấn không bằng int
+ Dùng auto_increment thì không đảm bảo được chiều dài dữ liệu == 7 ký
tự
+ Tạo ra chuỗi 7 ký tự random trong PHP thì lại phải query check trong
db xem tồn tại hay chưa => có thể mất nhiều query check trong khi tạo
ra được 1 UID
+ Dùng auto_increment thì lại lãng phí ID (với những ID bị xóa đi thì
sẽ không dùng lại được)
Bác nào đã giải quyết vấn đề này thì cho mình xin cao kiến với :)

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Giã Dương Đức Minh  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 10:47 pm
From: Giã Dương Đức Minh <giaduongducm...@gmail.com>
Date: Tue, 27 Dec 2011 10:47:27 +0700
Local: Mon, Dec 26 2011 10:47 pm
Subject: Re: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database

Chào bạn, câu hỏi của bạn cũng là một trong các vấn đề tôi đang phân
vân. Sau đây là cách giải quyết của tôi từ trước đến giờ:

 1. Unique ID trong dành để thao tác trong Database luôn là kiểu số,
    field này không thể hiện lên GUI. Nếu có mã sản phẩm hiển thị lên
    GUI thì có thể cho người dùng nhập hoặc tự phát sinh.
 2. Nếu mã sản phẩm theo 1 định dạng nào đó, SPM0001 (Sản phẩm loại M),
    SPM0002:
      * Select max cái ID kiểu số, cộng thêm 1 rồi dùng str_pad
        (http://php.net/manual/en/function.str-pad.php) để thao tác xử
        lý chuỗi. Cộng vào chuỗi định dạng của mã sản phẩm.
      * Hoặc sử dụng seed random, với seed là time_stamp hiện tại. Nhưng
        kiểu này đòi hỏi phải query kiểm tra dưới database.
      * Có thể dùng Trigger/Stored Procedure/Function trong database.
 3. Riêng về vấn đề xóa thì đó giờ chưa xóa trong database, mà chỉ là
    đánh dấu xóa thôi. Có một thuộc tính cho biết record đó là xóa hay
    chưa xóa.

Đó là ý kiến, kinh nghiệm cá nhân. Mong đợi cao kiến từ mọi người. :D

On 12/27/2011 10:31 AM, Hùng Nguyễn wrote:

> Chào các bác,
> Chả là hiện tại em muốn tạo Unique ID cho sản phẩm trong database, mỗi
> UID này có chiều dài 7 ký tự. Em đang phân vân 1 chút trong việc tạo
> ra UID này như sau:
> + Column dạng char thì tốc độ truy vấn không bằng int
> + Dùng auto_increment thì không đảm bảo được chiều dài dữ liệu == 7 ký
> tự
> + Tạo ra chuỗi 7 ký tự random trong PHP thì lại phải query check trong
> db xem tồn tại hay chưa =>  có thể mất nhiều query check trong khi tạo
> ra được 1 UID
> + Dùng auto_increment thì lại lãng phí ID (với những ID bị xóa đi thì
> sẽ không dùng lại được)
> Bác nào đã giải quyết vấn đề này thì cho mình xin cao kiến với :)

--
------------------------------------------------------------------------
*Giã Dương Đức Minh *

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
vietnux  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 10:47 pm
From: "vietnux" <vietnux2...@gmail.com>
Date: Tue, 27 Dec 2011 10:47:51 +0700
Local: Mon, Dec 26 2011 10:47 pm
Subject: RE: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database
+ Tạo ra chuỗi 7 ký tự random trong PHP thì lại phải query check trong => dung luôn hàm time() ấy, substr(time(), 3) => lấy 7 ký tự cuối, thời gian luôn trôi đi ko bao giờ có sự lặp lại cả nên bạn không cần phải kiểm tra đã có hay chưa


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Giã Dương Đức Minh  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 10:55 pm
From: Giã Dương Đức Minh <giaduongducm...@gmail.com>
Date: Tue, 27 Dec 2011 10:55:11 +0700
Local: Mon, Dec 26 2011 10:55 pm
Subject: Re: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database

Tôi thấy vậy vẫn chưa ổn.
Ví dụ ra 123 4567890 và 321 4567890.
Tôi thử làm một phép tính là, nếu lấy 7 ký tự cuối thì cứ 10 000 000
giây là bị trùng 7 ký tự cuối 1 lần. --> 10 000 000/(60*60*24) = khoảng
115 ngày. Dù trùng đúng số giây là rất khó, khả năng vẫn còn khá cao nếu
dùng lâu dài.

Có thể tôi chưa hiểu lắm, hiểu sai thì mong Vietnux giải thích thêm. :D

On 12/27/2011 10:47 AM, vietnux wrote:

--
------------------------------------------------------------------------
*Giã Dương Đức Minh *

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nguyễn Thạc Hùng  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 11:03 pm
From: Nguyễn Thạc Hùng <aotu...@gmail.com>
Date: Tue, 27 Dec 2011 11:03:08 +0700
Local: Mon, Dec 26 2011 11:03 pm
Subject: Re: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database

Cám ơn mọi người đã giúp đỡ,
@VietNux: Mình cũng đã thử theo cách của bạn nhưng vẫn không đáp ứng chính
xác (như bạn Đức Minh đã nói).
@Giã Dương Đức Minh: Mình cũng đã tính đến cách như bạn đề cập nhưng ở đây
mình muốn tận dụng hết các giá trị mà 7 ký tự đó tạo ra (7 ký tự bao gồm cả
chữ lẫn số) nên cách của bạn vẫn bị hạn chế 1 chút.

Còn ai có cao kiến nữa không ạ :D
---
0 ============================== 0
  |||||||||||||||||||||  Nguyễn Thạc Hùng  ||||||||||||||||||||||
  0 ==============o0o============= 0

gps <http://giamsatgps.vn> | hop
den<http://giamsatgps.vn/thiet-bi-dinh-vi-gps/thiet-bi-giam-sat-hanh-trin...>
|
gps viet nam <http://giamsatgps.vn> | dinh vi
gps<http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html> |
thiet bi dinh vi gps <http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html>
Mạng thông tin giải trí cho giới trẻ: http://xjtjn.net
My Weblog: http://khanhnam.info
Watch HD movie online: http://phimhay24h.net

Vào 10:55 Ngày 27 tháng 12 năm 2011, Giã Dương Đức Minh <
giaduongducm...@gmail.com> đã viết:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Son Dat Giang  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 11:44 pm
From: Son Dat Giang <giangson...@gmail.com>
Date: Tue, 27 Dec 2011 11:44:17 +0700
Local: Mon, Dec 26 2011 11:44 pm
Subject: Re: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database

Bạn dùng auto_increment, start = 1000000 là có 7 ký tự thôi à.

Nói chung là bạn đang tìm giải pháp .. đẹp mà theo mình là không cần thiết
ở đây. Việc bạn mất công check duplicate hầu như chả tốn kém gì.

Khi bạn đã đạt primary key, việc tìm kiếm trên 2^64 giá trị chỉ mất có 64
vòng lặp. Chả là gì so với các bài toán khác mà bạn phải đối mặt.

Tóm lại nếu bạn không thích AI vì sợ ... mất ID thì bạn có thể dùng giải
pháp randomize (nên lưu trữ binary - MySQL). Nhưng bạn thử nghĩ xem bạn sẽ
có thể mất bao nhiêu ID??? Số record xóa đi hầu hết cực nhỏ so với phần còn
lại.

End AI start = 1000000 là nice.
---------------------------------
Best regards !
Giang Son Dat
Ho Chi Minh City, Vietnam
Mobile: +84 988114164

2011/12/27 Nguyễn Thạc Hùng <aotu...@gmail.com>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nguyễn Thạc Hùng  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 11:56 pm
From: Nguyễn Thạc Hùng <aotu...@gmail.com>
Date: Tue, 27 Dec 2011 11:56:10 +0700
Local: Mon, Dec 26 2011 11:56 pm
Subject: Re: [PHPVietnam] Xin ý kiến mọi người về tạo unique ID trong database

Ok,
Nếu vậy thì mình sẽ chọn cách dùng AutoIncrement và tự động pad 0 vào đầu
số để đảm bảo đủ 7 chars.
Cám ơn mọi người :x
---
0 ============================== 0
  |||||||||||||||||||||  Nguyễn Thạc Hùng  ||||||||||||||||||||||
  0 ==============o0o============= 0

gps <http://giamsatgps.vn> | hop
den<http://giamsatgps.vn/thiet-bi-dinh-vi-gps/thiet-bi-giam-sat-hanh-trin...>
|
gps viet nam <http://giamsatgps.vn> | dinh vi
gps<http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html> |
thiet bi dinh vi gps <http://giamsatgps.vn/thiet-bi-dinh-vi-gps.html>
Mạng thông tin giải trí cho giới trẻ: http://xjtjn.net
My Weblog: http://khanhnam.info
Watch HD movie online: http://phimhay24h.net

Vào 11:44 Ngày 27 tháng 12 năm 2011, Son Dat Giang
<giangson...@gmail.com>đã viết:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Nguyen Hoang  
View profile   Translate to Translated (View Original)
 More options Dec 27 2011, 10:43 am
From: Nguyen Hoang <nhoa...@gmail.com>
Date: Tue, 27 Dec 2011 07:43:47 -0800 (PST)
Local: Tues, Dec 27 2011 10:43 am
Subject: Re: Xin ý kiến mọi người về tạo unique ID trong database
Tớ đang dùng cách đúng như Đức Minh mô tả, và đã dùng thử cả cách
Giang Sơn Đạt gợi ý, thực tế sử dụng (của tớ) thì cách của Đức Minh
mềm dẻo và cơ động hơn trong trường hợp dùng ghi ID sản phẩm.

NHoang

On Dec 27, 11:56 am, Nguyễn Thạc Hùng <aotu...@gmail.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Bui Thanh Dung  
View profile   Translate to Translated (View Original)
 More options Dec 27 2011, 9:39 pm
From: Bui Thanh Dung <buithanhd...@gmail.com>
Date: Wed, 28 Dec 2011 09:39:11 +0700
Local: Tues, Dec 27 2011 9:39 pm
Subject: Re: [PHPVietnam] Re: Xin ý kiến mọi người về tạo unique ID trong database

Nếu vậy thì mình sẽ chọn cách dùng AutoIncrement và tự động pad 0 vào đầu
<-- khi thiết kế DB chỉ cần check vào thuộc tính zezofill là nó tự thêm 0
vào thôi, bạn thử xem

2011/12/27 Nguyen Hoang <nhoa...@gmail.com>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Giã Dương Đức Minh  
View profile   Translate to Translated (View Original)
 More options Dec 26 2011, 9:48 pm
From: Giã Dương Đức Minh <giaduongducm...@gmail.com>
Date: Tue, 27 Dec 2011 09:48:58 +0700
Local: Mon, Dec 26 2011 9:48 pm
Subject: Re: [PHPVietnam] Re: Xin ý kiến mọi người về tạo unique ID trong database

Oh, cái này mới biết.

Cảm ơn Bui Thanh Dung nhiều. :D

On 12/28/2011 9:39 AM, Bui Thanh Dung wrote:

...

read more »


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »