mysqldb(Python用のmysqlモジュール)に非常に奇妙な問題があります。
テーブルにレコードを挿入するためのクエリを含むファイルがあります。ファイルから関数を呼び出すと、問題なく機能します。しかし、別のファイルから関数の1つを呼び出そうとすると、
_mysql_exception.InterfaceError:(0、'')
私はここで私が間違っていることを本当に理解していません。
私はから関数を呼び出しますbuildDB.py
:
import create
create.newFormat("HD", 0,0,0)
関数newFormat(..)はcreate.py(インポート)にあります:
from Database import Database
db = Database()
def newFormat(name, width=0, height=0, fps=0):
format_query = "INSERT INTO Format (form_name, form_width, form_height, form_fps) VALUES ('"+name+"',"+str(width)+","+str(height)+","+str(fps)+");"
db.execute(format_query)
そして、クラスデータベースは次のとおりです。
MySQLdb.constantsからMySQLdbをインポートします。FIELD_TYPEをインポートします。
class Database():
def __init__(self):
server = "localhost"
login = "seq"
password = "seqmanager"
database = "Sequence"
my_conv = { FIELD_TYPE.LONG: int }
self.conn = MySQLdb.connection(host=server, user=login, passwd=password, db=database, conv=my_conv)
# self.cursor = self.conn.cursor()
def close(self):
self.conn.close()
def execute(self, query):
self.conn.query(query)
(私は関連するコードのみを入れました)
トレースバック:
Z:\sequenceManager\mysql>python buildDB.py
D:\ProgramFiles\Python26\lib\site-packages\MySQLdb\__init__.py:34: DeprecationWa
rning: the sets module is deprecated
from sets import ImmutableSet
INSERT INTO Format (form_name, form_width, form_height, form_fps) VALUES ('HD',0
,0,0);
Traceback (most recent call last):
File "buildDB.py", line 182, in <module>
create.newFormat("HD")
File "Z:\sequenceManager\mysql\create.py", line 52, in newFormat
db.execute(format_query)
File "Z:\sequenceManager\mysql\Database.py", line 19, in execute
self.conn.query(query)
_mysql_exceptions.InterfaceError: (0, '')
警告はこれまで問題にならなかったので、関係ないと思います。