Jak zmienić domyślne zestawienie tabeli?

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

Tworzy tabelę z domyślnym zestawieniem latin1_general_ci;

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

Pokazuje Indywidualne zestawienie kolumn jako 'latin1_general_ci'.

Więc jaki jest efekt polecenia alter table?

Author: kenorb, 2009-04-12

4 answers

Aby zmienić domyślny zestaw znaków i zestawienie tabeli w tym istniejących kolumn (zwróć uwagę na klauzulę Konwertuj na):

alter table <some_table> convert to character set utf8 collate utf8_unicode_ci;
 514
Author: Nikki Erwin Ramirez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-29 07:00:24

MySQL posiada 4 poziomy zestawiania: serwer, baza danych, tabela, kolumna. Jeśli zmienisz zestawienie serwera, bazy danych lub tabeli, nie zmienisz ustawienia dla każdej kolumny, ale zmienisz domyślne zestawienia.

Np. jeśli zmienisz domyślne zestawienie bazy danych, każda nowa tabela, którą utworzysz w tej bazie danych, użyje tego zestawienia, a jeśli zmienisz domyślne zestawienie tabeli, każda kolumna, którą utworzysz w tej tabeli, uzyska to zestawienie.

 30
Author: fredrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-03 21:04:32

Ustawia domyślne Zestawienie dla tabeli; jeśli utworzysz nową kolumnę, która powinna być zestawiona z latin_general_ci -- tak myślę . Spróbuj określić Zestawienie dla poszczególnych kolumn i sprawdź, czy to działa. MySQL ma naprawdę dziwne zachowanie w odniesieniu do sposobu, w jaki radzi sobie z tym.

 9
Author: Don Werve,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-12 18:58:55

Może być konieczna zmiana schematu nie tylko tabeli

ALTER SCHEMA <database name> DEFAULT CHARACTER SET UTF8 DEFAULT COLLATE utf8_general_ci (as rich said - utf8mb4);

(mariaDB 10)

 0
Author: AssyK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-30 11:29:31