Выбор из таблицы усекает его - PullRequest
0 голосов
/ 30 декабря 2018

Я написал код, который извлекает данные из таблицы и вставляет их в словарь, а затем усекает таблицу и вставляет новые значения в таблицу, однако в тот момент, когда я запускаю код, она немедленно усекает таблицу.

Я попытался удалить усеченный код, однако он все еще усекает таблицу.

import ccxt
import mysql.connector

import os
import sys
import time
from collections import defaultdict
import json 
import requests
import logging
import telegram

cnx = mysql.connector.connect(user='root', password='',

host='localhost', database='coinbuys',

auth_plugin='mysql_native_password')

mycursor = cnx.cursor()

sql = """SELECT * FROM coinscores """
mycursor.execute(sql)
myresult = mycursor.fetchall()
for row in myresult:
coin_score_symbol = row[1]
coin_score_database_value = row[2]

print (coin_score_symbol)
print (coin_score_database_value)

#this prints nothing ^

sql = "INSERT INTO BUYWALLDATA3 (COINPAIR, price, size, volumethreshold) VALUES (%s, %s, %s, %s)"
            val = [
                (whichmarket[f], 
var_element_check[0], sum_array_check, volume_threshold)
                ]

            mycursor.executemany(sql, val)

            cnx.commit()

            print(mycursor.rowcount, "was inserted.")

for key in coins_with_buy_walls.keys():
sql = """SELECT * FROM BUYWALLDATA3 WHERE COINPAIR = '%s' """ % (key)
rows = 0
mycursor.execute(sql)
myresult = mycursor.fetchall()
for row in myresult:
    rows = rows + 1
    id_table = row[0]
    ticker = row[1]
    coin_price = row[2]
    size_order = row[3]
    volume_calculation = row[4]
    volume_calculation = row[4] + volume_calculation

#Here would be the truncate statement

for a in coin_score:
coin_final_score = coin_score[a]
sql = "INSERT INTO coinscores (symbol, score) VALUES (%s, %s)"              
val = [(a, coin_final_score)]
mycursor.executemany(sql, val)
cnx.commit()
print(mycursor.rowcount, "was inserted.")


# This is the code I used to create the coin scores table 
mycursor.execute("CREATE TABLE coinscores (id INT AUTO_INCREMENT PRIMARY KEY, symbol VARCHAR(255), score VARCHAR(255))")

Я включил все свои операторы базы данных, возможно, есть проблема с ними, которая вызывает это.Я ожидаю, что при первом вызове из базы данных будут распечатаны все значения в монетах, а затем стерты и вставлены новые данные.

1 Ответ

0 голосов
/ 31 декабря 2018

У меня был другой файл в папке, в который была записана строка TRUNCATE, и по какой-то причине, когда я удалил, это решило проблему.

...