После импорта таблицы Excel, содержащей некоторые специальные символы (like carriage returns or line feeds)
в строке заголовков, кажется, что утилита phpMyAdmin без проблем обработала эту ситуацию, вставив эти символы в имя поля.как удалить специальные символы из имени поля mysql
Проблемы возник позже, когда я пытался импортировать таблицу в другие среды/инструменты, такие как интеграторы данных и т.д. Например, столбец "Date Start"
был импортирован в таблицу, как "Date\nStart"
с питающей линией в середине.
Операция поле переименования через PhpMyAdmin терпит неудачу с этой ошибкой:
**\#1054 - Unknown column 'Date Start' in 'mytable'**
Очевидный обходной путь будет редактировать исходный файл Excel вручную (удаление Л.Ф.), а затем импортируйте таблицу в MySql, как и раньше, но я 'm в положении необходимости обновления схемы при сохранении данных в таблице.
Далее я попытался это из панели SQL в PhpMyAdmin (банкноты с \ п в имени поля, VARCHAR (16) это всего лишь пример, DATETIME или INT должен работать, а):
ALTER TABLE mytable CHANGE `Date\nStart` `Date Start` VARCHAR(16)
но это дает ошибку # 1054 - Неизвестный столбец «Дата \ nStart» в «туЬаЫе»
Я также проверил information_schema дб, но, как указано ниже @Steve, это только для чтения базы данных.
Я использую MySql 5.5.32 и phpMyAdmin 4.0.4.1 с рабочим столом Win7. Какие-либо предложения?
Проверка таблицы INFORMATION_SCHEMA.COLUMNS с помощью SELECT HEX (COLUMN_NAME) FROM COLUMNS WHERE COLUMN_NAME LIKE '% \ n%' Я могу определить значение 0x0A в строке, на самом деле это LF, ascii-код 10 ... – ManuelJE