|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
В ответ на запрос типа mysqlSELECT * FROM `information_schema`.`columns` WHERE `table_schema`="..." AND `table_name`="..." ORDER BY `ordinal_position` ; Один сервер выдаёт массив с ключами в верхнем регистре, типа: mysql[COLUMN_NAME] => ot_id; [COLUMN_COMMENT] => ha-ha; [DATA_TYPE] => int; А другой сервер выдаёт массив с ключами в нижнем регистре, типа: mysql[column_name] => ot_id; [column_comment] => ha-ha; [data_type] => int; ВОПРОС: какой параметр сервера MySQL отвечает за эти настройки? Как можно ими управлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 13:11 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
ИМХО разные версии сервера ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 17:48 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
Mysql8 в консоли 1 вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 18:02 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
Да, севера разные. Верхний регистр выдаёт MySQL 8.0.27-0ubuntu0.20.04.1 - (Ubuntu) Версия протокола: 10. Но если результат на разных серверах разный, значит этот параметр - переменная. Для любой переменной / константы должно быть имя. Какое имя носит параметр, определяющий регистр ключей в выдаваемом ответе? Вот в чём вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 20:36 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
стало интересно... проверил сервер 5.7 из консоли тоже верхний регистр. Каким клиентом подключаетесь к серверам? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2021, 09:35 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
MySQL 8.0.23...\mysql-8.0\bin>mysql -uroot -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 12 Server version: 8.0.23 MySQL Community Server - GPL Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SELECT * -> FROM `information_schema`.`columns` -> WHERE `table_schema`="test" AND `table_name`="mans" ORDER BY `ordinal_position`; +---------------+--------------+------------+-------------+------------------+------------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+--------------------+-------------+------------+----------------+---------------------------------+----------------+-----------------------+--------+ | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT | GENERATION_EXPRESSION | MySQL5.7...mysql-5.7\bin>mysql -uroot -p Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.23 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SELECT * -> FROM `information_schema`.`columns` -> WHERE `table_schema`="test" AND `table_name`="mans" ORDER BY `ordinal_position`; +---------------+--------------+------------+-------------+------------------+------------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+--------------------+-------------+------------+----------------+---------------------------------+----------------+-----------------------+--------+ | TABLE_CATALOG | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT | GENERATION_EXPRESSION | SRS_ID | +---------------+--------------+------------+-------------+------------------+------------------+-------------+-----------+--------------------------+------------------------+---------- ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2021, 09:43 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
5pKj А другой сервер выдаёт массив с ключами в нижнем регистре ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2021, 21:10 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Вероятно дело не в сервере MySQL, а в PHP Version 7.4.3., причём только на одном из компьютеров для локального тестирования. Для устранения расхождений вывод обрабатывается функцией PHP для перевода ключей в нижний регистр array_change_key_case(). Но источник верхнего регистра так и не найден. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2021, 10:11 |
|
Регистр ключей массива information_schema
|
|||
---|---|---|---|
#18+
Или всё проще и поля именно в данной конкретной базе были созданы без кавычек. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2021, 14:43 |
|
|
start [/forum/topic.php?fid=47&fpage=3&tid=1827862]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 152ms |
0 / 0 |