MYSQL에서 auta_increment 사용법과 DB값의 중복되지 않게 하려면 어떻게 해야 하나요

rwrwjhw의 이미지

DB구성을 할려는데 한가지 난관에 부디쳤습니다.

고유번호가 문제인데 일단 하고 싶은 방식은
seq_num int(11) NOT NULL auto_increment, 라고 하면 1~계속 불어 나는 방식으로 되잖아요? 그렇죠?
제가 원하는것은 앞에다 날짜를 붙일수 있을까 하는 것입니다.
주문을 받아서 DB에 저장 하는 방식인데 잘될지 모르겠습니다.

여러가지를 생각을 해봤는데
PHP구문에서 아예 날짜와 고유번호를 작성하여 만들어서 넣는방법

- 이때 고유번호를 유추하기 위해 현재까지 접수된 갯수를 파악하여 +1해서 날짜뒤에 합한다음에 DB로 Update하는 방법

- 그런데 사용자가 많을 경우 동시에 접수를 하게 된다면 어떻게 되는건가요 DB가 업데이트 되기전에 두명이상의사용자가 현재까지 접수된 건수를 추출 해갔을때 동시에 입력을 하게 된다면 그시간 타임으로 인한 오류가 있지 않을까 하는 우려 입니다.

아니면 MYSQL에서 auto increment를 이용해서 앞에는 날짜가 붙고 뒤에는 카운터 숫자가 붙는 방법은 없나요?
선배님들의 답변 부탁 드립니다.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

INSERT로 고유번호 필드(PK 말고)를 비운 채로 레코드를 넣고 UPDATE로 날짜를 붙여서 고유번호를 만들면 되지 않을까요?

rwrwjhw의 이미지

하지만... 일단 좀 업무가 복잡해지면 실수를 많이 하니까... 다른방법을 생각 해봐야 겠습니다.

노력하라.....

노력하라.....

rwrwjhw의 이미지

날짜 필드를 하나 만들면 좀 쉽게 해결될것 도 갔습니다.
어차피 외부로 출력되는 건 스트리밍인가 하는 함수를 사용해서 합치기 해서 보여 주면 되니까.. ^^ 주문번호는 문제가 없겠네요...
그렇게 되면
200804170001
200804170002
200804170003
200804170004
200804180005
200804180006
이런식으로 날짜가 바뀌면 1부터 시작했으면 좋겠는데 그렇게는 어떻게 안될까요??
음.. 머리가 아프기 시작하내요
웹디자이너는 거이 다된것 같은데 난 아직 DB작업중이니원 ㅡㅡ;

노력하라.....

노력하라.....

enjoylife의 이미지

=============================
물 흐르듯이......

=============================
물 흐르듯이......

enjoylife의 이미지

우선 auto_increment 만 가지는 테이블을 하나 생성한 다음에 insert 후에 last_insert_id로 insert한 값을 불러온 다음

그 후에 php로 만든 날짜와 가지고 온 last_insert_id를 합쳐서 활용하시면 될거 같네요.

답변이 됐는지 모르겠네요. ^^;

ps : 답변이 두개가 달렸네요. -_-;
=============================
물 흐르듯이......

=============================
물 흐르듯이......

rwrwjhw의 이미지

제가 DB를 처음 짜봐서 그런데 이거 하나만 더 답변 해주세요

auto_increment로 만든 테이블이 하나씩 증가 할경우 동시에 사용자가 들어와서 마지막으로 똑같은 숫자를 가져갈 확률은 얼마나 될까요 ;;;;
그럴수 있지 않을까요??
그런면에서 어떻게 하면 좋을까요?

노력하라.....

노력하라.....

rwrwjhw의 이미지

노력하라.....

노력하라.....

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.