복붙노트

[SQL] 어떻게 테이블의 기본 데이터 정렬을 변경하려면?

SQL

어떻게 테이블의 기본 데이터 정렬을 변경하려면?

create table check2(f1 varchar(20),f2 varchar(20));

기본 정렬 latin1_general_ci있는 테이블을 생성;

alter table check2 collate latin1_general_cs;
show full columns from check2;

쇼 'latin1_general_ci'로 컬럼의 개별 데이터 정렬.

그런 다음 테이블 변경 명령의 효과는 무엇인가?

해결법

  1. ==============================

    1.기존 열 (절에 변환주의)의 포함 테이블의 기본 문자 집합 및 정렬을 변경하려면 :

    기존 열 (절에 변환주의)의 포함 테이블의 기본 문자 집합 및 정렬을 변경하려면 :

    alter table <some_table> convert to character set utf8mb4 collate utf8mb4_unicode_ci;
    

    는 일부 의견의 자극 덕분에 답을 편집 :

  2. ==============================

    2.서버, 데이터베이스, 테이블, 열 : MySQL은 조합의 4 단계가있다. 서버, 데이터베이스 또는 테이블의 데이터 정렬을 변경하는 경우, 각 열에 대한 설정을 변경하지 않는,하지만 당신은 기본 데이터 정렬을 변경합니다.

    서버, 데이터베이스, 테이블, 열 : MySQL은 조합의 4 단계가있다. 서버, 데이터베이스 또는 테이블의 데이터 정렬을 변경하는 경우, 각 열에 대한 설정을 변경하지 않는,하지만 당신은 기본 데이터 정렬을 변경합니다.

    당신이 데이터베이스의 기본 데이터 정렬을 변경 한 경우에는 테이블의 기본 데이터 정렬을 변경하는 경우 예컨대, 해당 데이터베이스에 작성하는 각 새 테이블이 그 정렬을 사용하고, 것입니다, 당신은 그 테이블에서 만든 각 열은 정렬을 얻을 것이다.

  3. ==============================

    3.이 테이블의 기본 데이터 정렬을 설정; 새 열을 작성하는 경우, 그는 latin_general_ci과 대조되어야한다 - 나는 생각한다. 각 열에 대한 데이터 정렬을 지정 시도하고 그 작동되는지 확인합니다. MySQL의는이를 처리하는 방식에 관해서 정말 기괴한 행동을 가지고있다.

    이 테이블의 기본 데이터 정렬을 설정; 새 열을 작성하는 경우, 그는 latin_general_ci과 대조되어야한다 - 나는 생각한다. 각 열에 대한 데이터 정렬을 지정 시도하고 그 작동되는지 확인합니다. MySQL의는이를 처리하는 방식에 관해서 정말 기괴한 행동을 가지고있다.

  4. ==============================

    4.뿐만 아니라 테이블 스키마를 변경해야 할 수도 있습니다

    뿐만 아니라 테이블 스키마를 변경해야 할 수도 있습니다

    ALTER SCHEMA `<database name>`  DEFAULT CHARACTER SET utf8mb4  DEFAULT COLLATE utf8mb4_unicode_ci (as Rich said - utf8mb4);
    

    (mariaDB 10)

  5. from https://stackoverflow.com/questions/742205/how-to-change-the-default-collation-of-a-table by cc-by-sa and MIT license