powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Регистр ключей массива information_schema
10 сообщений из 10, страница 1 из 1
Регистр ключей массива information_schema
    #40115488
5pKj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ответ на запрос типа

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 отвечает за эти настройки? Как можно ими управлять?
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115540
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО разные версии сервера
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115544
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mysql8
в консоли 1 вариант
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115568
5pKj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, севера разные. Верхний регистр выдаёт MySQL 8.0.27-0ubuntu0.20.04.1 - (Ubuntu) Версия протокола: 10.

Но если результат на разных серверах разный, значит этот параметр - переменная.
Для любой переменной / константы должно быть имя.
Какое имя носит параметр, определяющий регистр ключей в выдаваемом ответе?

Вот в чём вопрос.
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115637
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стало интересно...
проверил сервер 5.7 из консоли
тоже верхний регистр.
Каким клиентом подключаетесь к серверам?
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115638
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 |
+---------------+--------------+------------+-------------+------------------+------------------+-------------+-----------+--------------------------+------------------------+----------
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40115742
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5pKj
А другой сервер выдаёт массив с ключами в нижнем регистре
Опишите подробнее - версии ПО, ОС, как выводите и т.п.
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40116387
5pKj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
mysql> SELECT `column_name`,`column_comment`,`data_type` FROM `information_schema`.`columns` WHERE `table_schema`="46545" AND `table_name`="ord" ORDER BY `ordinal_position`;
+-------------------+------------------------------------------+-----------+
| COLUMN_NAME       | COLUMN_COMMENT                           | DATA_TYPE |
+-------------------+------------------------------------------+-----------+
| ot_id             | номер заявки                             | int       |
| tour_id           | карточка экскурсии                       | int       |
| ot_name           | название экскурсии                       | varchar   |
| tour_card_id      | страница экскурсии                       | int       |
| ot_group          | количество человек                       | int       |
| ot_content        | содержание экскурсии                     | varchar   |
| ot_duration       | продолжительность                        | smallint  |
| ot_type           | тип экскурсии                            | smallint  |



Вероятно дело не в сервере MySQL, а в PHP Version 7.4.3., причём только на одном из компьютеров для локального тестирования. Для устранения расхождений вывод обрабатывается функцией PHP для перевода ключей в нижний регистр array_change_key_case(). Но источник верхнего регистра так и не найден.
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40116445
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или всё проще и поля именно в данной конкретной базе были созданы без кавычек.
...
Рейтинг: 0 / 0
Регистр ключей массива information_schema
    #40116525
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ТС о "заголовке"
COLUMN_NAME | COLUMN_COMMENT | DATA_TYPE

это "системный словарь"
нет alias, клиент отдает как у него "заложено"
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Регистр ключей массива information_schema
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]