2013-08-20 2 views
0

MySQL 필드에 값/시퀀스를 자동으로 입력하고 싶습니다.mysql에서 시퀀스 생성

2342/ABC/2013/08/01 

마지막 하나가 등등 01, 02, 03 및처럼 내 순서입니다 : 여기 내 순서입니다. 그것은 내가 등등 01, 02 및부터 다시 순서를 시작하려는 09 때 위의 달과 같은 달의 변화가 08 일 때

규칙입니다.

난 그냥이

Insert into table1('User_name') values('BILL') 

그것은 순서를 삽입합니다 사용 table1(Id,User_name,Sq_Number)

테이블을 가지고 자동으로

+3

는이 작업을 수행하는 간단한 방법은 없습니다,하지만 당신은 아마 저장 프로 시저를 사용하여 비슷한 일을 해낼 수 있습니다. http://dev.mysql.com/doc/refman/5.0/en/stored-routines.html - 내가 어떻게 그들에게 익숙하지 않은지 나에게 묻지 마라. –

+2

많은 개발자 들과는 대조적으로 데이터베이스 계층에 비즈니스 논리만큼 배치하는 것이 일반적으로 좋은 생각입니다.이 특별한 경우에는 PHP 코드에서 시퀀스 값을 계산하는 것이 좋습니다. – marekful

+0

** 2342 **의 의미는 무엇입니까? ** ABC **의 의미는 무엇입니까? – gvee

답변

0

를 사용하여 삽입 트리거, 그런 식 (I는 현재 날짜로부터 순서를 만들 이하 전), 당신의 논리를 추가하십시오 (그것은 분명하지 않습니다).

CREATE trigger insert_processor 
BEFORE INSERT ON table1 
FOR EACH ROW BEGIN 
set new.Sq_Number = CONCAT('2342','/','ABC','/', DATE_FORMAT(NOW(),'%Y/%m/%d')); 

END$$ 

고유 한 순서가 필요한 경우 테이블을 만들고 트리거에서 select를 사용하는 것이 좋습니다.