Skip to content
Advertisement

If a table has columns equal to columns in a second table insert values in a third table, python – mysql

I have 3 table in my database:

  • Borrowers: amount of the loan, interest rate, borrower id (PK)
  • Lenders: amount of the bid, interest rate and LenderID (PK)
  • Contracts: ContractID PK, amount, interest rate and the two foreign key(borrowerID, lenderID)

I create a loop in python with an input command in which I can insert new request of loan and new bid offer. Every insertion is connected with mysql and it is added to the respective table.

For example:

input in python –> L 1000 1.1 output –> create an insertion in Borrowers table with an auto_incremental PK, an amount of 1000 and an interest rate of 1.1%

I need to create another function in the loop in which, for every new request/offer, if an offer is equal to a request (Borrowers.Amount, BorrowersInterestRate = Lenders.Amount, Lenders.InterestRate), it will be created an insertion in contracts table with the same amount and interest rate.

Advertisement

Answer

This is only works if you are using mysql python connector. As far as I know that is the only way to use mysql using python but I maybe wrong.

to search if request matches the offer:

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()

to search if offer matches request:

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()
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement