1

希望使用 Django / db-api 的内置字符串扩展,但它看起来不适用于create database命令?

from django.db import connections
cursor = connections['dbadmin'].cursor()
cursor.execute('create database %s', ['foo']) 

哪个失败了

DatabaseError: (1064, "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 ''foo'' at line 1")

虽然直接的,未参数化的create database foo工作正常。

对我来说,这看起来像一个错误,对吧? drop database有类似的问题...

4

1 回答 1

1

您不能将参数用于表或数据库名称等元数据。这是底层 C 库的限制,而不是 DB-API。

于 2012-09-27T17:22:32.707 回答