DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) charset-examples

Info Catalog (mysql.info) charset-national (mysql.info) charset-syntax (mysql.info) charset-compatibility
 
 10.3.7 Examples of Character Set and Collation Assignment
 ---------------------------------------------------------
 
 The following examples show how MySQL determines default character set
 and collation values.
 
 *Example 1: Table and Column Definition*
 
      CREATE TABLE t1
      (
          c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci
      ) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;
 
 Here we have a column with a `latin1' character set and a
 `latin1_german1_ci' collation. The definition is explicit, so that's
 straightforward. Notice that there is no problem with storing a `latin1'
 column in a `latin2' table.
 
 *Example 2: Table and Column Definition*
 
      CREATE TABLE t1
      (
          c1 CHAR(10) CHARACTER SET latin1
      ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
 
 This time we have a column with a `latin1' character set and a default
 collation. Although it might seem natural, the default collation is not
 taken from the table level. Instead, because the default collation for
 `latin1' is always `latin1_swedish_ci', column `c1' has a collation of
 `latin1_swedish_ci' (not `latin1_danish_ci').
 
 *Example 3: Table and Column Definition*
 
      CREATE TABLE t1
      (
          c1 CHAR(10)
      ) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;
 
 We have a column with a default character set and a default collation.
 In this circumstance, MySQL checks the table level to determine the
 column character set and collation. Consequently, the character set for
 column `c1' is `latin1' and its collation is `latin1_danish_ci'.
 
 *Example 4: Database, Table, and Column Definition*
 
      CREATE DATABASE d1
          DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci;
      USE d1;
      CREATE TABLE t1
      (
          c1 CHAR(10)
      );
 
 We create a column without specifying its character set and collation.
 We're also not specifying a character set and a collation at the table
 level. In this circumstance, MySQL checks the database level to
 determine the table settings, which thereafter become the column
 settings.) Consequently, the character set for column `c1' is `latin2'
 and its collation is `latin2_czech_ci'.
 
Info Catalog (mysql.info) charset-national (mysql.info) charset-syntax (mysql.info) charset-compatibility
automatically generated byinfo2html