Mysql-无法在表中插入将冒号括起来的列名

问题描述 投票:0回答:1

我正在使用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表中添加包含冒号或任何其他保留字符的列名?

python mysql emoji reserved-words
1个回答
0
投票

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

'

对于列标识符,但反引号

`

代替。

© www.soinside.com 2019 - 2024. All rights reserved.