如果一个表的列等于第二个表中的列,则在第三个表中插入值,python - mysql

Posted

技术标签:

【中文标题】如果一个表的列等于第二个表中的列,则在第三个表中插入值,python - mysql【英文标题】:If a table has columns equal to columns in a second table insert values in a third table, python - mysql 【发布时间】:2021-09-21 00:03:54 【问题描述】:

我的数据库中有 3 个表:

借款人:贷款金额、利率、借款人 ID (PK) 贷方:出价金额、利率和贷方 ID (PK) Contracts:ContractID PK、金额、利率和两个外键(borrowerID、lenderID)

我使用输入命令在 python 中创建了一个循环,我可以在其中插入新的贷款请求和新的投标报价。 每个插入都与mysql连接,并添加到相应的表中。

例如:

python 中的输入 --> L 1000 1.1 输出 --> 在 Borrowers 表中创建一个自动增量 PK、金额为 1000、利率为 1.1% 的插入

我需要在循环中创建另一个函数,其中对于每个新的请求/报价,如果报价等于请求 (Borrowers.Amount, BorrowersInterestRate = Lenders.Amount, Lenders.InterestRate),它将被创建一个插入具有相同金额和利率的合同表。

【问题讨论】:

那么你的问题是什么?你尝试创作吗?请先显示您的代码。如果对您不起作用,请描述问题 【参考方案1】:

这仅在您使用 mysql python 连接器时有效。据我所知,这是使用 python 使用 mysql 的唯一方法,但我可能错了。

搜索请求是否与报价匹配:

def search_for_request(amount, interest_rate):
    # assuming that columns containing amount and interest rate are named as such
    database.cursor.execute("select amount_of_the_bid, interest_rate from lenders")
    result = database.cursor.fetchall()
    for amount_and_interest in result:
        # not sure if this step is necessary
        amount_and_interest = list(amount_and_interest)
        if amount_and_interst[0] == amount and amount_and_interst[1] == interest_rate:
            # execute query for entering the contract info in contract table
            database.commit()

搜索报价是否匹配请求:

def search_for_offer(amount, interest_rate):
    # assuming that columns containing amount and interest rate are named as such
    database.cursor.execute("select amount_of_the_bid, interest_rate from borrowers")
    result = database.cursor.fetchall()
    for amount_and_interest in result:
        # not sure if this step is necessary
        amount_and_interest = list(amount_and_interest)
        if amount_and_interest[0] == amount and amount_and_interest[1] == interest_rate:
            # execute query for entering the contract info in contract table
            database.commit()

【讨论】:

这几乎是我一直在寻找的答案,但多亏了你,我明白了如何解决我的要求!

以上是关于如果一个表的列等于第二个表中的列,则在第三个表中插入值,python - mysql的主要内容,如果未能解决你的问题,请参考以下文章

比较两个表的 xml [PENTAHO]

获取存储在另一个表中的列的定义而不连接两次

您可以将一个表中具有另一个表的列名的列与第二个表链接吗

更好的方法来选择第一个表中的所有列,并且只选择第二个表中的一列。

在oracle中怎么对一张表中的列进行循环,比如说,我执行第一个字段,再执行第二个。。。一直到N

Excel:使用一个表中的值在第二个表中查找值