programing

MySQL에서 400000부터 시작하는 새 열을 채우는 방법

firstcheck 2022. 12. 27. 21:46
반응형

MySQL에서 400000부터 시작하는 새 열을 채우는 방법

대학 숙제를 하고 있습니다.새로 생성된 컬럼에 값을 설정해야 하는데, 이 경우 40000000이라는 특정 숫자부터 시작해야 합니다.이렇게 됩니다.

ID ║ Column to populate ║ FirstName ║ LastName ║
1     40000000             John        Smith
2     40000001             John        Walker
3     40000002             John        Locke
and etc...

다음 문의와 관련된 것 같습니다.

UPDATE [table_name] SET [column_name] = [column_name] + 1;

하지만 이건 분명히 내가 원하는 숫자에서 시작하지 않을 거야

바보 같은 질문일지도 모르지만, 검색해 봤지만, 필요한 것은 찾을 수 없었기 때문에, 어떤 도움도 감사하게 생각하고 있습니다.감사합니다!!!

다음은 창 기능을 사용하는 한 가지 옵션입니다.

update mytable t
inner join (
    select id, row_number() over(order by id) rn
    from mytable t1
) t1 on t1.id = t.id
set t.new_col = 3999 + t1.rn

만약을 위해:id로부터 시작하다1갭 없이 증가하면 더욱 단순해집니다.

update mytable set new_col = 3999 + id

하지만 이건 안전하지 않은 것 같아id외관상으로는auto_increment이러한 열은 간격을 보장하지 않습니다.

그리고 당신은 숫자에 차이가 없기를 원하나요?사용하는 것은 어리석은 짓이 될 것이다AUTO_INCREMENT.

거의 모든 것INSERT어떤 종류의 딸꾹질도 숫자를 "태워서" 공백이 생기게 됩니다.

따라서, 당신은 다음과 같이 가정할 수 없다.AUTO_INCREMENT어떤 종류의 깔끔한 숫자의 연속을 제공합니다.

틈새에 신경 안 쓴다면ALTER TABLE t AUTO_INCREMENT=40000000앞으로 삽입할 인서트 크기를 최소 그 정도로 늘릴 수 있는 간단한 방법입니다.하지만 틈이 있을 수 있어요.

아마 만 명 중 한 명도 안 되는 테이블이 그 게임을 할 겁니다.그래서 MySQL/MariaDB를 배우는 사람에게는 쓸모없는 운동이라고 정중히 제안합니다.

언급URL : https://stackoverflow.com/questions/64972561/how-to-populate-new-column-starting-from-400000-in-mysql

반응형