Python MySQLdb设置用户定义的变量

Python MySQLdb设置用户定义的变量,python,mysql-python,Python,Mysql Python,这是我的密码: if NNlib.neuro(SB, UZ) == 1: koncept = 'zid' else: koncept = 'prazan prostor' sql = "SET @koncept='%s';" % koncept cursor.execute(sql) conn.commit() 所以基本上它所做的就是NNlib.neuro为'zid'(英语中的'wall')返回1,为'prazan prosor'('empty space')返回0。这部分工

这是我的密码:

if NNlib.neuro(SB, UZ) == 1:
    koncept = 'zid'
else:
    koncept = 'prazan prostor'

sql = "SET @koncept='%s';" % koncept
cursor.execute(sql)
conn.commit()
所以基本上它所做的就是NNlib.neuro为'zid'(英语中的'wall')返回1,为'prazan prosor'('empty space')返回0。这部分工作得很好,我在使用代码的第二部分在SQL中设置用户定义的变量时遇到了问题

例如,当我执行koncept='zid'的代码时,我应该得到@koncept是'zid',但我得到的是一个空值

我做错了什么

编辑:

实际上,我不能设置任何用户定义的变量。此代码不起作用:

conn = MySQLdb.connect(host="localhost", user="root", passwd="password", db="istrazivac")
cursor = conn.cursor()

cursor.execute("SET @test = 5")
conn.commit()

当我在mysql中执行SELECT@test时,我得到一个空值。但是当我在mysql>中设置它时,它工作了。

我发现了它。由于MySQL中的用户定义变量是由会话绑定的,就像在会话结束后它们会被擦除一样,因此在MySQL终端中选择变量将返回空值是合乎逻辑的。python脚本启动一个会话,mysql从另一个终端启动,因此用户定义的值不同

希望这能帮助有同样问题的人