首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python :创建数据库和填充表

问Python :创建数据库和填充表
EN

Stack Overflow用户
提问于 2014-11-18 08:33:14
回答 1查看 732关注 0票数 1

我编写了一个小脚本来创建一个MySQL数据库,创建一个表(如果已经存在的话以前删除它),并插入许多条目。当我执行我的脚本时,它可以创建数据库和表,但不向表写入任何条目:

代码语言:javascript
复制
from warnings import filterwarnings
import MySQLdb as db


filterwarnings('ignore', category = db.Warning)
try:
    db_name = 'chom'
    con = db.connect(user='user', passwd='pass')
    cur = con.cursor()

    # Create new database
    cur.execute('CREATE DATABASE IF NOT EXISTS ' + db_name + ';')

    # Create PARAMETERS table
    cur.execute('DROP TABLE IF EXISTS ' + db_name + '.PARAMETERS;')
    query = ('CREATE TABLE ' + db_name + '.PARAMETERS ('
      'idPARAMETERS INT(10) NOT NULL AUTO_INCREMENT, '
      'Param_name VARCHAR(30) NULL DEFAULT NULL, '
      'Param_value VARCHAR(255) NULL DEFAULT NULL, '
      'Timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP '
      'ON UPDATE CURRENT_TIMESTAMP, '
      'User_id VARCHAR(20) NULL DEFAULT NULL, '
      'PRIMARY KEY (idPARAMETERS) );'
    )
    cur.execute(query)

    # Insert entries
    parameters = ['param1', 'param2', 'param3',
        'param4']

    for i, param_name in enumerate(parameters, start=1):
        cur.execute('INSERT INTO ' + db_name + '.PARAMETERS '
            '(idPARAMETERS, Param_name, Param_value, User_id) '
            'VALUES (' + str(i) + ', %s, %s, %s);',
            (param_name, '', 'user2@localhost'))

    cur.close()
    con.commit()
except Exception, e:
    print 'Error. Last query: ' + str(cur._last_executed)
    print e
print 'DB installation script finished'

我看不出问题出在哪里。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-04 11:50:03

代码工作正常,这是mysql -工作台故障,它没有显示正确的数据库内容(而mysql控制台客户端)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26989819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档