MySQL은 어떻게 시퀀스를 생성합니까? MySQL 데이터베이스 생성 자동 증가 시퀀스 문

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 채널에 오신 것을 환영합니다!

🔔 채널 상위 디렉토리에서 귀중한 "ChatGPT 콘텐츠 마케팅 AI 도구 사용 가이드"를 가장 먼저 받아보세요! 🌟
📚 이 가이드에는 엄청난 가치가 담겨 있습니다. 🌟이것은 흔치 않은 기회입니다. 놓치지 마세요! ⏰⌛💨
당신이 원한다면 공유하고 좋아하십시오!
당신의 공유와 좋아요는 우리의 지속적인 동기 부여입니다!

 

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

맨위로 스크롤