플랑크톤
1k
2020-06-08 02:29:12
3
250

mariaDB 동일한 값으로 insert를 하려면 어떻게 해야 할까요?


CREATE TABLE 'test'(

'num' int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

'name' varchar(10) NOR NULL );

이런 테이블이 있으면

insert into test(su) values('a');

insert into test(su) values('b');

insert into test(su) values('c');

이런식으로 insert를 하면 자동으로 num 컬럼에는 따로 지정해주지 않아도 자동으로 1,2,3 이렇게 올라가잖아요?

그런데 만약 테이블 구조가

CREATE TABLE 'test'(

'num' int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

'name' varchar(10) NOR NULL

'su' int(10) NOT NULL

);

이런식으로 있다면 su 컬럼에도 num과 똑같은 값을 집어넣고 싶은데 어떻게 insert문을 작성하면 좋을지 모르겠습니다.

auto_increment는 primary key로 설정된 컬럼에만 지정할수 있다고 해서..

어떻게 해야 할까요?

);


0
  • 답변 3

  • JsKim4
    73
    2020-06-08 02:37:27

    같은값이 왜 필요한가요?

  • 플랑크톤
    1k
    2020-06-08 02:41:13

    JsKim4


    insert into productcomment values (NextVal('SEQ_COMMENT'),#{productId},#{memberId},#{commentContent},NextVal('SEQ_COMMENT'),'0','0','1',sysdate())


    이런 쿼리가 있는데요.. 저기 배경으로 진하게 해둔값이 동일한 값이에요

    저기선 시퀀스로 해결했어요 제가 원래 작업하던 mariaDB버전이 10.3인데 10.1.x로 버전을 낮춰서 작업해야하는데 10.1.x버전엔 시퀀스가 없어서 시퀀스를 제거해야해서요..

  • 엡실론
    1k
    2020-06-08 06:25:12

    NextVal 두번 호출하면 다른 값이 나오지 않나요?

    같은 값으로 넣으려면 insert 후 update를 하면 되긴 합니다.

    위의 예라면 insert into test(name) values('a'); update test set su=id where id=last_insert_id();

  • 로그인을 하시면 답변 을 등록할 수 있습니다.