나는 다음과 같은 테이블에 데이터를 삽입 할 :MySQL 질문 : 정수가 아닌 고유 한 직원 ID를 삽입하는 방법?
emp_id emp_data
----------------------------
emp001 Amit
emp002 Ajit
emp003 Arijit
여기 이상의 모든 EMP_ID 데이터가 고유해야하지만, EMP의 패턴을 따라야합니다 ***. 도와주세요. 나는 DB에 초보자입니다.
나는 다음과 같은 테이블에 데이터를 삽입 할 :MySQL 질문 : 정수가 아닌 고유 한 직원 ID를 삽입하는 방법?
emp_id emp_data
----------------------------
emp001 Amit
emp002 Ajit
emp003 Arijit
여기 이상의 모든 EMP_ID 데이터가 고유해야하지만, EMP의 패턴을 따라야합니다 ***. 도와주세요. 나는 DB에 초보자입니다.
create table employee (
empnum varchar(10) primary key
, empname varchar(60)
);
insert into employee values ('emp001', 'Employee 1');
insert into employee values ('emp002', 'Employee 2');
insert into employee values ('100emp', 'Employee 3');
내가 similar question을 요청하면, 나중에 내가이 더 나은
는 u는 당신의 테이블 구조를 변경 자동 증가 필드 접두어/접미어를 추가하는 좋은 아이디어가 아니다, 실현
emp_id emp_uniq_id emp_data
----------------------------------
1 emp001 Amit
2 emp002 Ajit
3 emp003 Arijit
및 u 아래 쿼리를 사용할 수 있습니다
mysql_query("UPDATE table_name SET emp_uniq_id=CONCAT('emp', ".str_pad(emp_id,3,'0',STR_PAD_LEFT)."))";
emp
접두사가 상수로 유지됩니다. 응용 프로그램 논리를 저장하고 데이터베이스에서 열을 가져올 때 앞에 추가하는 것이 좋습니다.
어쨌든 AUTO_INCREMENT
숫자 열만 가능합니다. 그래서 같은
, 당신은 할 수 그룹 기본 키 :
CREATE TABLE animals (
grp ENUM('fish','mammal','bird') NOT NULL,
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (grp,id)
) ENGINE=MyISAM;
INSERT INTO animals (grp,name) VALUES
('mammal','dog'),('mammal','cat'),
('bird','penguin'),('fish','lax'),('mammal','whale'),
('bird','ostrich');
SELECT * FROM animals ORDER BY grp,id;
선택의 출력은 다음과 같습니다 온라인 문서에서
+--------+----+---------+
| grp | id | name |
+--------+----+---------+
| fish | 1 | lax |
| mammal | 1 | dog |
| mammal | 2 | cat |
| mammal | 3 | whale |
| bird | 1 | penguin |
| bird | 2 | ostrich |
+--------+----+---------+
Cribbed : http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
emp_id는 문자열이어야합니까? auto_increment 정수를 기본 키로 사용하는 것이 더 간단하고 효율적입니다. – samplebias
여기에 대한 답변은 http://stackoverflow.com/questions/3245429/autoincrement-of-table-id-using-string-combination-in-database-automatically – Chris
매우주의해야 할 매우 중요한 이유가없는 한 그 일을해서는 안됩니다. – Spyros