Mysql - невозможно вставить имя столбца, содержащее двоеточия в таблице - PullRequest
1 голос
/ 18 апреля 2020

Я работаю над проектом простого приложения для чата, используя python. Для сохранения данных каждого клиента я использую базу данных MySql. Когда новый член регистрируется, столбец добавляется в одну из моих таблиц в базе данных. Все работало нормально Я решил поддержать имена пользователей, содержащие эмодзи. Я подумал, что было бы полезно преобразовать эмодзи в строки. Для этого я использую функцию demojize ():

client_name = qwer?
name2save = emoji.demojize(client_name)
# name2save = qwer:winking_face_with_tongue:

Затем, чтобы добавить столбец в мою таблицу, я использую следующий SQL qwery:

"ALTER TABLE private_chats ADD COLUMN '" + emoji.demojize(name2save) + "' TEXT(6000)"

Когда я запускаю qwery, я получаю следующую ошибку:

mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''qwer:winking_face_with_tongue:' TEXT(6000)' at line 1

Я думаю, что проблема в двоеточиях в этом имени пользователя. Мой вопрос: как мне добавить имя столбца, содержащее двоеточия или любые другие зарезервированные символы, в таблицу MySql?

1 Ответ

1 голос
/ 18 апреля 2020

Я не уверен, но вы не можете использовать одинарные кавычки

'

для идентификаторов столбцов, но указывать обратный тик

`

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...