Я пытаюсь вставить данные в свою базу данных Postgres, я могу вставить некоторые данные, которые являются чем-то другим, но не фактическими данными
Это мой генератор данных и отправитель данных в мою функцию выполнения запроса ( (Python-Falsk)
def runid(): cmdStr = 'cd /root/Dart/log; ls -rt DartRunner*.log | tail -1 ' ret = execCmdLocal(cmdStr) logName = ret[1].strip() runId = "" print('The DartRunner Log generated is: %s'%logName) with open('/root/Dart/log/' + logName, "r") as fd: for line in fd: if 'runId' in line: runId = line.split()[-1] print('Run Id: %s'%runId) break print (runId) # output : Run Id: 180628-22 post_runid(runId) # output is given in below link return jsonify({"run_id": runId})
Это метод выполнения моей базы данных (postgres): (Python)
def post_runid(run_id): query = "insert into runid(runid) values(%s)" cur.execute(query %run_id) conn.commit()
Мой вывод выглядит примерно так: Вышеприведенные две строки были вставлены мной вручную, но две строки ниже выполняются из кода, две строки ниже должны быть такими же, как и выше, но по какой-то причине они не являются исходными данными, а генерируются последовательно
Изменение %s на '%s' в запросе решило проблему.
%s
'%s'
def post_runid(run_id): query = "insert into runid(runid) values('%s')" cur.execute(query, (run_id,)) conn.commit()