l__xz__l 2021-10-22 15:30 采纳率: 100%
浏览 26
已结题

关于flask_sqlalchemy数据库无法获取新数据的问题

首先,我新建了一个名为test_db的数据库

img


然后在pycharm中新建一个python文件连接该库,并建一个名为User_table的表


from flask_sqlalchemy import SQLAlchemy
from flask import Flask
import pymysql

app = Flask(__name__)

# app.config["SQLALCHEMY_DATABASE_URI"] = 'mysql+pymysql://用户名:密码@127.0.0.1:3306/数据库名'

# # app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///"+"数据库的存放地址"

app.config["SQLALCHEMY_DATABASE_URI"] = 'mysql+pymysql://root:123456@127.0.0.1:3306/test_db'
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True
# app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config["SECRET_KEY"] = "123456asd"


# 实例化数据库
db = SQLAlchemy(app)

# 用户表
class User_table(db.Model):
    __tablename__ = "user_table"
    id = db.Column(db.Integer, primary_key = True)
    username = db.Column(db.String(16), nullable=False)
    userphone = db.Column(db.String(11), nullable=False)
    password = db.Column(db.String(16), nullable=False)


if __name__ == '__main__':
    db.create_all()
    # db.drop_all()

新建两个python文件tx.py和rx.py

img

rx.py内容:

import time
from db_test import db, User_table

j = 0
while True:
    # 每5秒读取一次数据
    time.sleep(5)
    j += 1
    getmsg = User_table.query.all()
    for i in getmsg:
        # print(i)
        print("第" + str(j) + "次:" + i.username)
    print("-------------")

tx.py内容:

from db_test import db, User_table
import time
a = 0
while True:
    # 每8秒写入一次数据
    time.sleep(8)
    a += 1
    ss = User_table(username="李四" + str(a), userphone=18045982650, password=123456789)
    print("第" + str(a) + "写入:" + "李四" + str(a))
    db.session.add(ss)
    db.session.commit()

同时运行结果:
数据库中原本有一条张三;

img

img

tx.pyrx.py同时运行的时候,tx新写入数据库的数据无法被rx读到,只有重新运行rx时才能读到最新的数据,怎样才能解决两个程序同时运行,rx还能读取到数据库中所有数据

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 10月30日
    • 创建了问题 10月22日

    悬赏问题

    • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
    • ¥20 网站后台使用极速模式非常的卡
    • ¥20 Keil uVision5创建project没反应
    • ¥15 mmseqs内存报错
    • ¥15 vika文档如何与obsidian同步
    • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
    • ¥15 陆空双模式无人机飞控设置
    • ¥15 sentaurus lithography
    • ¥100 求抖音ck号 或者提ck教程
    • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)