相关疑难解决方法(0)

保留mySQL自动递增的ID?

我们希望从mySQL获取自动增量ID,而不实际存储它,直到其他非mysql相关进程成功完成,以便在发生异常或应用程序崩溃时不存储该条目.我们需要使用ID作为其他进程的密钥.从本质上讲,我们希望"保留"自动增量并将行插入mySQL作为最后一步.在我们知道整个过程已成功完成之前,我们不想插入任何行.

是否有可能在mySQL中进行这种自动增量预留?

注意:我知道SQL事务.但是我们的进程包含需要在DB之外发生的非SQL内容.这些过程可能需要几分钟到几个小时.但我们不希望任何其他进程使用相同的自动增量ID.这就是为什么我们想要一个"保留"自动增量ID而不真正将任何数据插入数据库. -

mysql sql transactions auto-increment

7
推荐指数
1
解决办法
3511
查看次数

Flask Sqlalchemy 添加多行

我正在使用flask-restful 这是我要插入的课程

class OrderHistoryResource(Resource):

    model = OrderHistoryModel
    schema = OrderHistorySchema
    order = OrderModel
    product = ProductModel

    def post(self):
        value = req.get_json()
        data = cls.schema(many=True).load(value)  
        data.insert()
Run Code Online (Sandbox Code Playgroud)

在我的模型中

def insert(self):
    db.session.add(self)
    db.session.commit()
Run Code Online (Sandbox Code Playgroud)

模式

from config.ma import ma
from model.orderhistory import OrderHistoryModel

class OrderHistorySchema(ma.ModelSchema):
    class Meta:
        model = OrderHistoryModel
        include_fk = True
Run Code Online (Sandbox Code Playgroud)

我要插入的示例数据

[
    {
        "quantity":99,
        "flaskSaleStatus":true,
        "orderId":"ORDER_64a79028d1704406b6bb83b84ad8c02a_1568776516",
        "proId":"PROD_9_1568779885_64a79028d1704406b6bb83b84ad8c02a"
     },
     {
        "quantity":89,
        "flaskSaleStatus":true,
        "orderId":"ORDER_64a79028d1704406b6bb83b84ad8c02a_1568776516",
        "proId":"PROD_9_1568779885_64a79028d1704406b6bb83b84ad8c02a"
     }
]
Run Code Online (Sandbox Code Playgroud)

这是我在插入方法开始后得到的

TypeError: insert() takes exactly 2 arguments (0 given)
Run Code Online (Sandbox Code Playgroud)

或者有另一种方法来做这个动作?

python flask flask-sqlalchemy

0
推荐指数
1
解决办法
6416
查看次数