2014-07-22 3 views
0

두 열 fname 및 Lname에 데이터를 삽입 할 때 세 개의 열 ID, Fname, Lname이있는 테이블이 있습니다. 그런 다음 ID가 자동으로 생성되어 ID 열에 처음 3자를 삽입합니다. FNAME 열 다음 밑줄 LNAME의 첫 번째 문자 나는 당신이 비즈니스 로직을 사용하여 ID 열을 채우도록 삽입 동작에 트리거를 만들 필요가 있다고 생각mysql에서 런타임에 데이터를 삽입하는 방법

Select Concat(Left(Fname,3),'_',Left(Lname,1)); 

Fname  Lname  ID 
Ashutosh  Singh  Ash_S 
+0

필자는 전에 한번도 시도한 적이 없지만 기능 내에서 기능을 사용해야한다고 생각하지 않습니다. php에서 변수에 해당 값을 저장해보십시오. 내가 사용하고 있다고 가정하고 원하는 결과를 얻었는지 확인합니다. 그렇지 않은 경우 수정하고 다른 apporaches 시도하십시오. – codeninja

+1

그래서 질문은 무엇입니까 ?? –

+0

테이블에 삽입 한 다음 insert 문을 사용하고 auto_increment 및 기본 키로 ID를 설정하려면 –

답변

0

를 사용 cancate에 대한 "ID는 duplcate 될 수있다" 당신은 언급했다

1

PK로 USE 정수.

create table users(
    id serial, 
    my_key varchar(5), 
    fname varchar(50), 
    lname varchar(50) 
); 

처음 3과 FNAME 컬럼의 문자 한 다음 밑줄 LNAME 의 첫 번째 문자는 고유의

my_key는 "삽입"트리거에 의해 채워질 수 수 없습니다 -.

+0

두 번째입니다. 고유 한 정수 키를 기본 키로 사용하십시오. 다른 컬럼에 의존하는 키를 사용하고 싶지는 않습니다. 갈등을 해결하고 이름과 성이 바뀔 때 다시 계산해야합니다 ... 아니면 잘못 정렬해야합니다. 이 사용자 키를 계속 정렬하려면 이전 삽입 트리거와 이전 업데이트 트리거를 모두 처리해야합니다. – Frazz

관련 문제