Nice programing

MySQL은 기존 테이블 열 정렬

nicepro 2020. 11. 3. 19:15
반응형

MySQL은 기존 테이블 열 정렬


MySQL 테이블 에서 특정 기존 열의 위치를 ​​어떻게 변경할 수 있습니까?

예 : 열 사용자 이름 을 현재 위치에서 대신 모든 열 뒤로 이동하거나 테이블의 특정 열 앞에 놓기를 원합니다.


원하는 경우 열 순서를 변경할 수 있습니다.

사용자 이름 열이 varchar (255) 인 경우 :

alter table `mytable` 
change column username username varchar(255) after `somecolumn`;

테이블 정의를 더 잘 읽는 데 도움이된다면 왜 안 되겠습니까?


귀하의 모든 답변에 감사드립니다. 이미 끝났습니다.

ALTER TABLE tbl_user MODIFY gender char(1) AFTER username;

테이블을 정리하는 것과 똑같죠? 기본 키 필드가 테이블의 마지막 순서에있는 것을 원하지 않습니다. 적어도 해당 문제가 발생하면이를 조정하는 방법을 알고 있습니다. 텍스트 기반 데이터베이스에서 사용하고 GUI를 사용하지 않으려 고합니다. 지금.

다시 한번 감사드립니다 :)


이 쿼리를 간단하게 사용

alter table `admin` modify id int(11) first;

또는

alter table `admin` modify id int(11) after `some_column`;

SQL은 다음과 같아야합니다.

ALTER TABLE `Customers` MODIFY `UserName` INT (11) AFTER `Orders`

끝난! 한 줄은 위치를 변경하고 다른 할 일이 없습니다.


@ rahim-asgari 추천에 반대하는 것이 좋습니다 ALTER TABLE MYTABLE ADD MYFILED INT( 5 ) NOT NULL AFTER POSITION.

  1. 새 필드 추가
  2. 이전 필드의 데이터를 새 필드로 복사
  3. 제약 / 인덱스 수정
  4. 이전 필드 삭제

통사론:

ALTER TABLE `TableName` MODIFY `FieldToBeMoved` [SAME FIELD SETTINGS] [ACTION] `TargetPosition`
  • [SAME FIELD SETTINGS]
    필드의 구성을 나타냅니다. TINYINT, VARCHAR, TEXT 등. 크기를 포함해야합니다. Ej.varchar (255)

  • [ACTION]
    필드 BEFORE또는 AFTER특정 필드를 이동할 수 있습니다 . 또는 그에 따라
    교체하십시오 .BEFOREAFTER


만약 당신의 ...

  • 테이블 이름 : Customers
  • 이동할 필드 : UserName
  • UserName 설정 : int(11)
  • 목표 위치 (테이블의 마지막 필드) : Orders

ALTER TABLE [tbl_name] MODIFY|CHANGE [column definition] [AFTER|BEFORE] [a_column]둘 다 작동합니다. MODIFY열 순서 만 변경하고 이름을 바꾸지 않으려는 경우 선호됩니다. 또한 단일 ALTER TABLE 문에서 순서를 변경하는 여러 열을 결합 수 없습니다 . IE는 정수 열 col1, col2, col3 순서를 col3, col2, col1의 순서로 재정렬하려면해야합니다.

ALTER TABLE tbl_name MODIFY col3 int FIRST; ALTER TABLE tbl_name MODIFY col2 int AFTER col3;


기존 열의 순서를 변경할 수 없습니다.

그러나 u는 위치를 변경하려는 열을 삭제할 수 있으며이 명령을 사용하여 원하는 위치에 추가 할 수 있습니다.

ALTER TABLE `MYTABLE` ADD `MYFILED` INT( 5 ) NOT NULL AFTER `POSITION` 

또는

테이블 시작 부분에 필드를 추가하려면

ALTER TABLE `MYTABLE` ADD `MYFIELD` INT( 5 ) NOT NULL FIRST 

참고 URL : https://stackoverflow.com/questions/3809603/mysql-arrange-existing-table-columns

반응형