Arbeiten Sie mit zwei verschiedenen Zeichensätzen in MySQLMySql

MySQL DBMS-Forum
Anonymous
 Arbeiten Sie mit zwei verschiedenen Zeichensätzen in MySQL

Post by Anonymous »

Code: Select all

mysql> SELECT t.table_catalog AS catalog, t.table_schema, t.table_name, "" AS owner, CASE WHEN t.engine = 'InnoDB' THEN (SELECT st.table_id FROM information_schema.INNODB_TABLES st WHERE CONCAT(t.table_schema,'/', t.table_name) = st.name) ELSE (SELECT 0) END AS id FROM information_schema.tables t;
+---------+--------------------+------------------------------------------------------+-------+------+
| catalog | TABLE_SCHEMA       | TABLE_NAME                                           | owner | id   |
+---------+--------------------+------------------------------------------------------+-------+------+
|  def     | draft              | abcatcol                                             |       | 1093 |
| def     | draft              | abcatedt                                             |       | 1094 |
| def     | draft              | abcatfmt                                             |       | 1095 |
| def     | draft              | abcattbl                                             |       | 1112 |
| def     | draft              | abcatvld                                             |       | 1096 |
| def     | draft              | abcß                                                 |       | NULL |
| def     | draft              | leagues                                              |       | 1098 |
| def     | draft              | leaguescorehitter                                    |       | 1101 |
| def     | draft              | leaguescorepitcher                                   |       | 1102 |
Wie Sie sehen können, ist die Tabellen-ID für die Tabelle abcß NULL.
Der Grund ist:

Code: Select all

mysql> SELECT * FROM information_schema.INNODB_TABLES st;
+----------+------------------------------------------------------------+------+--------+------------+------------+---------------+------------+--------------+--------------------+
| TABLE_ID | NAME                                                       | FLAG | N_COLS | SPACE      | ROW_FORMAT | ZIP_PAGE_SIZE | SPACE_TYPE | INSTANT_COLS | TOTAL_ROW_VERSIONS |
+----------+------------------------------------------------------------+------+--------+------------+------------+---------------+------------+--------------+--------------------+
|     1089 | draft/abc@1j                                               |   33 |      5 |         24 | Dynamic    |             0 | Single     |            0 |                  0 |
Die Tabelle wird mit dem Standardbefehl CREATE TABLE abcß erstellt. Keine Zeichensätze und keine Sortierungen.
Die MySQL-Version ist 8.0.800 und läuft unter Gentoo Linux.
Wie rufe ich die Tabellen-ID für die oben genannte Tabelle ab?
Der Computer ist mit dem Gebietsschema en_US.UTF8 eingestellt und MySQL verwendet standardmäßig alles.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post