MariaDb 10.6의 NVARCHAR 열에 대한 기본 데이터 정렬 변경
MariaDb 10.6.4에서 문제가 발생했지만 10.5.12에서는 발생하지 않았습니다.
데이터베이스(및 실제로 서버)에 대한 기본 문자 집합과 기본 정렬을 utf8mb4 및 utf8mb4_general_ci로 설정했습니다.서버 설정은 10.6.4의 information_schema, performance_schema 및 sys 기본값에 영향을 미치지 않지만(아직 utf8mb3임) 내가 만든 다른 모든 데이터베이스는 utf8mb4를 가집니다.
사용합니다SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA
기본 설정을 확인합니다.
다음 Sql을 사용하여 데이터베이스 ETLBox_DataFlow2에 테스트 테이블을 만듭니다.
CREATE TABLE testtable
(
col1 NVARCHAR(100) NULL,
col2 VARCHAR(100) NULL,
col3 VARCHAR(100) COLLATE 'utf8mb4_general_ci',
col4 VARCHAR(100) CHARACTER SET 'utf8mb4'
)
각 열이 사용하는 문자 집합과 조합을 확인해보니 NVARCHAR 열에 utf8mb3가 기본 문자 집합으로 남아 있습니다.
SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME
FROM information_schema.Columns
WHERE TABLE_NAME = 'testtable'
이 테이블에서 데이터를 검색하기 위해 C#과 최신 MySql 커넥터 8.0을 사용하기 때문에 매우 유감입니다.그러나 이 커넥터는 이미 MySql/Oracle에서 사용되지 않기 때문에 utf8mb3에서 수집된 데이터에서는 작동하지 않습니다.
저는 MariaDb 10.5.12에서 이 문제가 발생한 적이 없습니다.MariaDb가 utf8의 기본값을 변경한 것은 알고 있지만, 이제 모든 것이 MySql과 일치하도록 utf8mb4로 정렬될 것이라고 생각했습니다.@@OLD_MODE를 가지고 놀려고 했지만, 테이블을 만들 때 여기서 어떤 차이도 보이지 않았습니다.
이 행동을 바꿀 방법이 있습니까?또한 NVARCHAR 열은 기본적으로 utf8mb4로 수집되기를 원합니다(또는 실제로는 utf8mb3 이외의 다른 조합도 가능합니다).
답장 기다리겠습니다!
언급URL : https://stackoverflow.com/questions/69303375/change-default-collation-for-nvarchar-columns-in-mariadb-10-6
'source' 카테고리의 다른 글
스위프트에 있는 모든 물체와 모든 물체 (0) | 2023.08.20 |
---|---|
IP 전화/IPad:화면 너비를 프로그래밍 방식으로 가져오는 방법은 무엇입니까? (0) | 2023.08.20 |
ADB 셸 입력 이벤트 (0) | 2023.08.15 |
MySQL의 SELECT 문에 열을 올바르게 추가하는 방법은 무엇입니까? (0) | 2023.08.15 |
Python에서 Google Authenticator 구현 (0) | 2023.08.15 |