programing

MariaDB 다중 행 삽입 순서

goodsources 2023. 9. 3. 16:14
반응형

MariaDB 다중 행 삽입 순서

아래 질문을 고려해 주십시오.

DELIMITER $
BEGIN NOT ATOMIC

IF (Select count(*) from t1 where name = 'test') = 0 THEN
    INSERT into t1(categoryId,name, language)
    values
        (NextVal(categorySequence),'test','en-US'),
        (LastVal(categorySequence),'test','de-DE');
END IF ;
END $
DELIMITER ;

같은 'categoryId'의 레코드 2개를 삽입하고 싶습니다.categoryId를 생성하기 위해 mariadb 시퀀스 https://mariadb.com/kb/en/library/sequence-overview/ 을 사용하고 있습니다.NextVal()은 다음 시퀀스 번호를 반환하고 LastVal()은 마지막 시퀀스 번호를 반환합니다(NextVal() 함수와 동일).위의 쿼리는 INSERT 문 순서가 왼쪽에서 오른쪽으로 있으면 정상적으로 작동합니다(테스트에서 찾았습니다).예: "insert into x values('1'), ('2')'1'이 먼저 삽입되고 '2'가 삽입되지만 mariadb가 항상 이 순서를 따를지는 모르겠습니다.INSERT 주문에 대해 도와주시거나 다른 질문을 제안해주시기 바랍니다.

그건 중요하지 않아.MariaDB는 각 삽입이 서로 다른 시퀀스 값을 사용하도록 보장합니다.

어떤 것이 먼저 실행되느냐에 왜 그렇게 신경을 쓰십니까?특정 삽입 순서를 확인해야 하는 경우 두 개의 별도 삽입 SQL 문을 실행합니다.

언급URL : https://stackoverflow.com/questions/50999811/mariadb-multiple-row-insert-order

반응형