Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python psycopg creata数据库失败,;语法错误_Python_Database_Postgresql_Psycopg2 - Fatal编程技术网

Python psycopg creata数据库失败,;语法错误

Python psycopg creata数据库失败,;语法错误,python,database,postgresql,psycopg2,Python,Database,Postgresql,Psycopg2,我使用psycopg2创建了一个数据库失败,语法错误,但在前几行中使用相同的语法是工作,为什么要问?两行代码,为什么第二行是语法错误 [守则] db_name = 'series_id' self._cur_root.execute("CREATE DATABASE '%s' owner %s ;" % (db_name, self.username)) [错误] syntax error at or near "'series_id'" LINE 1: CREATE DATABASE 'se

我使用psycopg2创建了一个数据库失败,语法错误,但在前几行中使用相同的语法是工作,为什么要问?两行代码,为什么第二行是语法错误

[守则]

db_name = 'series_id'
self._cur_root.execute("CREATE DATABASE '%s' owner %s ;" % (db_name, self.username))
[错误]

syntax error at or near "'series_id'"
LINE 1: CREATE DATABASE 'series_id' owner postgres ;

正确的代码,从%s中删除cotes:

self._cur_root.execute("CREATE DATABASE %s owner %s ;" % (db_name, self.username))

正确的代码,从%s中删除cotes:

self._cur_root.execute("CREATE DATABASE %s owner %s ;" % (db_name, self.username))

PostgreSQL使用单引号表示字符串,双引号表示可能被错放或包含大写字母的文字和名称。如果需要引用名称,请尝试:

 ' CREATE DATABASE "%s" OWNER "%s"; '  % ....

在这里,您可以手动呈现您的请求。一般来说,最好使用DB驱动程序的函数来替换值——它们会正确引用并防止SQL注入

PostgreSQL使用单引号表示字符串,双引号表示可能出现错误或包含大写字母的文字和名称。如果需要引用名称,请尝试:

 ' CREATE DATABASE "%s" OWNER "%s"; '  % ....

在这里,您可以手动呈现您的请求。一般来说,最好使用DB驱动程序的函数来替换值——它们会正确引用并防止SQL注入

是否确实需要在数据库名称周围加引号?是否确实需要在数据库名称周围加引号?