python 创建数据库 出错。

mport MySQLdb

#建立和数据库系统的连接
conn = MySQLdb.connect(host='localhost', user='root',passwd='inspeed')

#获取操作游标
cursor1 = conn.cursor()
#执行SQL,创建一个数据库.
sql_name1 =raw_input('name=')
sss= """DROP DATABASE IF EXISTS """+ sql_name1 + ' ; ' + ' CREATE DATABASE ' +sql_name1
print sss

cursor1.execute("""DROP DATABASE IF EXISTS """+ sql_name1 + ' ; ' + ' CREATE DATABASE ' +sql_name1)
cursor1.execute(sss)
cursor1.close();

在执行时报错
cursor1.execute(...)成功,但是执行cursor1.execute(sss)失败。为什么

你给数据库起的名字也太奇怪了,怎么全是数字?给点字母好不好,或者用引号包起来:

CREATE DATABASE “3333333333”


sql_name1 =raw_input('name=')
sss= """DROP DATABASE IF EXISTS '%s' ; CREATE DATABASE '%s';""" % (sql_name1, sql_name1)
print sss
cursor1.execute("""DROP DATABASE IF EXISTS '%s' ; CREATE DATABASE '%s';""" % (sql_name1, sql_name1))
cursor1.execute(sss)
cursor1.close();

追问

你的执行不报错么,sql语句中database的名字不需要引号。

不是数字和字母的问题

温馨提示:答案为网友推荐,仅供参考
相似回答