首页 > 解决方案 > pymysql.err.InternalError:(1109,“信息架构中的未知表'ALL_PLUGINS'”)

问题描述

我在 Ubuntu 机器中设置了 Python Flask 服务器,并在 XAMPP 中设置了 MySQL 作为后端。

当我尝试从我的 python 程序访问数据库表时,它显示为 pymysql.err.InternalError: (1109, "Unknown table 'ALL_PLUGINS' in information_schema")

但我可以直接在 MySQL 管理页面中访问数据库

我用来访问数据的示例程序。

from flaskext.mysql import MySQL
from flask import (Flask, request, session, g, redirect, url_for, abort, render_template, flash, Response)
import os
from werkzeug.utils import secure_filename

mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'information_schema'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'

mysql.init_app(app)


@app.route('/')
def insert_student():
    qry = "SELECT * FROM ALL_PLUGINS "
    conn = mysql.connect()
    cursor = conn.cursor()
    cursor.execute(qry)
    data = cursor.fetchall()
    print(data)
    conn.commit()
    return "Sucess"      

if __name__ == '__main__':
   app.secret_key = 'super secret key'
   app.debug = True
   app.run()   

而不是正常运行我得到以下 屏幕截图

标签: mysql

解决方案


Mysql 在信息模式中没有all_plugins 表。插件表(好吧,视图)称为plugins

因此,您的查询应该是:

SELECT * FROM PLUGINS

根据@snakecharmerb 的评论:另一方面,Mariadb 确实有all_plugins表,这可能是造成混乱的原因。


推荐阅读