Mysql - 无法将包含冒号的列名称插入到 table

Mysql - cannot insert a column name conatining colons to a table

我正在开发一个简单的聊天应用程序项目,使用 python。为了保存每个客户端的数据,我使用了一个MySql数据库。当新成员注册时,数据库中我的 table 之一会添加一列。一切正常。我决定支持包含表情符号的用户名。我认为将表情符号转换为字符串会很有用。为此,我使用 demojize() 函数:

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

然后,为了将列添加到我的 table,我使用了以下 SQL 查询:

"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 table?

我不确定,但你不能使用单引号

'

用于列标识符但反引号

`

相反。