기사 디렉토리
MySQL의시퀀스를 만드는 방법?MySQL 데이터베이스자동 증가 시퀀스 문 만들기
MySQL 시퀀스 사용
MySQL 시퀀스는 1, 2, 3, ...의 정수 집합입니다. 데이터 테이블은 하나의 필드 자동 증가 기본 키만 가질 수 있으므로 다른 필드의 자동 증가를 달성하려면 MySQL을 사용할 수 있습니다. 달성하기 위한 순서.
이 장에서는 MySQL 시퀀스를 사용하는 방법을 설명합니다.
AUTO_INCREMENT 사용
MySQL에서 시퀀스를 사용하는 가장 쉬운 방법은 MySQL AUTO_INCREMENT를 사용하여 열을 정의하는 것입니다.
예
데이터 테이블 Insect는 자동 성장에 대해 지정된 값이 없는 다음 예에서 생성됩니다.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,#昆虫类型- > 日期DATE NOT NULL ,#收集日期- > origin VARCHAR (30 )NOT NULL #where collected ); 查询OK ,0 行受影响(0.02 秒) mysql > INSERT INTO insects (id ,name ,date ,origin )VALUES - > (NULL ,'housefly' ,'2001-09-10' ,'kitchen' ),- > (NULL ,'millipede' ,'2001-09-10 ' ,'车道' ),- > (NULL ,'grasshopper' ,'2001-09-10' ,'front yard' ); 查询OK , 秒)记录:3 重复:0 警告:0 mysql > 选择* 从昆虫ORDER BY ID ; + ---- + ------------- + ------------ + ------------ + | id | 名字 | 日期 | 起源 | + ---- + ------------- + ------------ + ------------ + | 1 | 家蝇 | 2001 - 09 - 10 | 厨房 | | 2 | 千足虫 | 2001 - 09 - 10 | 车道 | | 3 | 蚱蜢| 2001 - 09 - 10 | 前院| + ---- + ------------- + ------------ + ------------ + 3 行中集(0.00 秒)
AUTO_INCREMENT 값 가져오기
MySQL 클라이언트에서 SQL의 LAST_INSERT_ID() 함수를 사용하여 테이블에 삽입된 마지막 자동 증가 열의 값을 가져올 수 있습니다.
테이블에 삽입된 마지막 자동 증분 열의 값을 얻기 위해 PHP 또는 PERL 스크립트에서도 해당 함수가 제공됩니다.
PERL 인스턴스
mysql_insertid 속성을 사용하여 AUTO_INCREMENT 값을 가져옵니다.예는 다음과 같습니다.
$ dbh - > do (“INSERT INTO insect(name,date,origin) VALUES('moth','2001-09-14','windowsill')“ ); my $ seq = $ dbh - > { mysql_insertid };
PHP 예제
PHP는 mysql_insert_id() 함수를 통해 실행된 insert SQL 문에서 AUTO_INCREMENT 컬럼의 값을 얻는다.
mysql_query (“INSERT INTO昆虫(名字,日期,起源) VALUES('moth','2001-09-14','windowsill')“ ,$ conn_id ); $ seq = mysql_insert_id ($ conn_id );
리셋 시퀀스
데이터 테이블에서 여러 레코드를 삭제하고 나머지 데이터의 AUTO_INCREMENT 열을 재정렬하려면 자동 증가 열을 삭제한 다음 다시 추가하면 됩니다.그러나 이 작업은 매우 조심해야 합니다.삭제와 동시에 새로운 레코드가 추가되어 데이터의 혼동이 있을 수 있으며, 동작은 다음과 같습니다.
mysql > ALTER TABLE昆虫DROP ID ; mysql > ALTER TABLE昆虫 - > ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST ,- > ADD PRIMARY KEY (id );
시퀀스의 시작 값 설정
일반적으로 시퀀스의 시작 값은 1이지만 시작 값을 100으로 지정해야 하는 경우 다음 명령문으로 이를 수행할 수 있습니다.
mysql > CREATE TABLE昆虫 - > (- > id INT UNSIGNED NOT NULL AUTO_INCREMENT ,- > PRIMARY KEY (id ),- > name VARCHAR (30 )NOT NULL ,- > date DATE NOT NULL ,- > origin VARCHAR (30 )NOT NULL )engine = innodb auto_increment = 100 charset = utf8 ;
또는 테이블이 성공적으로 생성된 후 다음 문을 사용할 수도 있습니다.
mysql > ALTER TABLE t AUTO_INCREMENT = 100 ;
희망 첸 웨이량 블로그( https://www.chenweiliang.com/ ) 공유 "MySQL은 시퀀스를 어떻게 생성합니까? 자체 증분 시퀀스 문을 생성하는 MySQL 데이터베이스"를 참조하십시오.
이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-498.html
최신 업데이트를 받으려면 Chen Weiliang 블로그의 Telegram 채널에 오신 것을 환영합니다!
📚 이 가이드에는 엄청난 가치가 담겨 있습니다. 🌟이것은 흔치 않은 기회입니다. 놓치지 마세요! ⏰⌛💨
당신이 원한다면 공유하고 좋아하십시오!
당신의 공유와 좋아요는 우리의 지속적인 동기 부여입니다!