jag*_*uli 7 python sql linux pymssql
我试图使用pymssql创建一个数据库,我得到这个错误.
cur.execute("CREATE DATABASE %s;" % self.getsql('dbname'), conn)
Run Code Online (Sandbox Code Playgroud)
给
*** OperationalError: (226, 'CREATE DATABASE statement not allowed within multi-
statement transaction.DB-Lib error message 226, severity 16:\\nGeneral SQL Serve
r error: Check messages from the SQL Server\\n')
Run Code Online (Sandbox Code Playgroud)
这是什么意思 ??
问题是cur.execute每次启动一个事务,但是在事务中不能执行'CREATE DATABASE'操作
>>> connection.autocommit(True)
>>> cursor = connection.cursor()
>>> cursor.execute("CREATE DATABASE Foo")
>>> connection.autocommit(False)
Run Code Online (Sandbox Code Playgroud)
这是有效的.奇怪的是它没有在pymssql中记录......嗯