首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未知数据库错误python mysql

未知数据库错误python mysql
EN

Stack Overflow用户
提问于 2015-02-04 19:21:23
回答 1查看 2.6K关注 0票数 1

这个链接显示了我在mysql工作台中创建的数据库,以及我在代码中建立的连接,但是由于某种原因,数据库是未知的。我错过了一步吗?http://gyazo.com/d995c4da99043da43bfbd057a0a839c7

代码语言:javascript
复制
__author__ = 'avi'

from TwitterSearch import *
import json

twtsearch = TwitterSearch(
    consumer_key='PXTUrlRfgC1zSTsAPU9z6EHtD',
    consumer_secret='qM9F4FVj1qLFc6f795r96DQPNAJO8hkbWy4PXWYLfQcYyNGY7D',
    access_token='2943116292-wVHEjbfjX7OFqaOURBqim5o7Vs6lZyjxsoto8nD',
    access_token_secret='CJAppSRY9TZ5cwYTABZhH2YTd0rm5IzBDqPder6v4qLBA'
    )

twtsearchorder = TwitterSearchOrder()
twtsearchorder.set_keywords(['iphone6'])
twtsearchorder.set_language('en')
twtsearchorder.set_include_entities(True)


tweet_limit=50
parsed_tweets= {}
table="twtinfo"
import MySQLdb as mdb

con = mdb.connect('localhost', 'root','root','tweetinfo')
cur=con.cursor()

for tweet in twtsearch.search_tweets_iterable(twtsearchorder):
    if tweet_limit > 0 :
        parsed_tweets['name'] = tweet['user']['screen_name']
        parsed_tweets['content'] = tweet['text']
        parsed_tweets['user_id'] = tweet['user']['id']
        parsed_tweets['fav_count'] = tweet['favorite_count']
        parsed_tweets['location'] = tweet['user']['location']
        parsed_tweets['retweet_count'] = tweet['retweet_count']
        placeholders= ', '.join(['%s'] *len(parsed_tweets))
        columns = ', '.join(parsed_tweets.keys())
        sql="INSERT into %s ( %s ) VALUES ( %s )" % (table, columns, placeholders)
        cur.execute(sql,parsed_tweets.values())
        tweet_limit -= 1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-04 20:06:06

MySQL进程抱怨您试图访问的数据库,即不存在tweetinfo。MySQL错误1049通常表示必须忘记选择数据库,但您已经将其作为mdb.connect()的第四个参数。

可能的错误可能是:

  • 运行多个MySQL进程,其中一个进程的正确数据库不在默认的MySQL端口上。
  • 您的数据库GUI应用程序实际上还没有将数据库和表提交到MySQL进程。
  • MySQL没有运行?您可能会得到一个不同的错误信息,但这可能是一个想法,以确保它是以防万一。

为了检查您的表是否存在并且您的数据库是否就位,打开一个终端并编写以下命令:

代码语言:javascript
复制
mysql -u root -proot
use tweetinfo;
show create table twtinfo;

另一件需要尝试的事情是询问MySQL进程它认为您使用的是哪个数据库。尝试在代码中添加如下内容:

代码语言:javascript
复制
cur.execute("SELECT DATABASE() FROM DUAL;")
print("Database is: %s.", cur.fetchone()[0])

我不是python程序员,所以我不完全相信如果不做一些调整就能工作。

如果这些都没有给你一个很好的线索,我不太确定是怎么回事。

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

https://stackoverflow.com/questions/28329628

复制
相关文章

相似问题

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