MySQL 连接器无法使用 table 别名
MySQL Connector not working with table aliases
我在 python 脚本中使用 mysql.connector。
当我尝试执行具有 tables 别名的脚本时 - 它无法执行并给出错误 "unknown column 'column_name' in 'field_list'"。
两个 table 都有同名的字段,所以我不能不使用别名。
代码:
query = ("SELECT ti.itemno, ti.active FROM text_item AS ti"
"INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno;")
cursor.execute(query)
在 table 名称 ("text_item") 上替换别名 "ti" 时出现相同的错误。
我找不到有关不使用别名的连接器的任何信息。
我该如何解决这个问题?
您需要在 table 别名后加上 space,例如:
query = ("SELECT ti.itemno, ti.active FROM text_item AS ti "
"INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno")
cursor.execute(query)
Python combines 相邻的字符串文字合并为一个,因此您实际上有 'tiINNER'
作为别名。
我在 python 脚本中使用 mysql.connector。 当我尝试执行具有 tables 别名的脚本时 - 它无法执行并给出错误 "unknown column 'column_name' in 'field_list'"。
两个 table 都有同名的字段,所以我不能不使用别名。
代码:
query = ("SELECT ti.itemno, ti.active FROM text_item AS ti"
"INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno;")
cursor.execute(query)
在 table 名称 ("text_item") 上替换别名 "ti" 时出现相同的错误。 我找不到有关不使用别名的连接器的任何信息。
我该如何解决这个问题?
您需要在 table 别名后加上 space,例如:
query = ("SELECT ti.itemno, ti.active FROM text_item AS ti "
"INNER JOIN text_itemmember AS tim ON tim.itemno = ti.itemno")
cursor.execute(query)
Python combines 相邻的字符串文字合并为一个,因此您实际上有 'tiINNER'
作为别名。