mysql - 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 在信息模式中没有all_plugins 表。插件表(好吧,视图)称为plugins。
因此,您的查询应该是:
SELECT * FROM PLUGINS
根据@snakecharmerb 的评论:另一方面,Mariadb 确实有all_plugins表,这可能是造成混乱的原因。
推荐阅读
- angular - 如果您在 Angular 中选择下拉列表,如何显示材料下拉列表中的数据?
- raku - Raku (née Perl 6) reduce function 和 reduction metaoperator 给出不同的结果
- rest - Spring boot @RequestBody 返回 null 并且找不到可接受的表示
- ios - 绝对旋转率
- java - 如何使用 IntelliJ 将 + 和 ( 或 ) 与 url 的查询参数一起使用
- python-3.x - 使用带有多个键的 Grouper 时填写缺失的日期
- android - MaterialComponents 中 android:background 的替代方法是什么?
- python - 在 Keras 批处理规范中禁用移动均值和标准差
- c# - UL 样式属性从 display:none 更改为 display:block 但这发生在几分之一秒内无法从 ul 获取 li 元素列表
- azure - 通过 PowerShell 在 ADLS Gen2 中重命名文件名时出现异常