[英]Insert value to MySQL Database if not exist using Python(PyMySQL)
I am trying to Fetch value from an existing database and also insert the value into the database if not exist. 我试图从现有数据库中获取值,如果不存在,也将值插入数据库。
This code works fine to fetch the value the value but I am not able to insert the value into database.. 此代码可以正常获取值的值,但我无法将值插入数据库..
import pymysql
connection = pymysql.connect(
host='localhost',
user='root',
password='',
db='chatbotqad',
)
user_input=input('Enter :')
print(user_input)
try:
with connection.cursor() as cursor:
sql = "SELECT * FROM `qans` WHERE `Questions` = ('%s') " % user_input
try:
cursor.execute(sql)
result = cursor.fetchall()
if not cursor.fetchone():
sqli = "INSERT INTO `qans` VALUES (%s)" % user_input
cursor.execute(sqli)
print("Que\t\t Answer")
print("-------------------------")
for row in result:
print(str(row[0]) + "\t\t" + row[1])
except:
print("Oops! Something wrong")
connection.commit()
finally:
connection.close()**strong text**
I finally found this solution. 我终于找到了这个解决方案
import pymysql
connection = pymysql.connect(
host='localhost',
user='root',
password='',
db='chatbotqad',
)
user_input=input('Enter input:')
try:
with connection.cursor() as cursor:
sql = "SELECT * FROM `qans` WHERE `Questions` = ('%s') " % user_input
try:
if (cursor.execute(sql)==0):
result = cursor.fetchall()
Ans_input=input('Please enter Answer:-')
sql = "INSERT INTO `qans` (Questions, Answers) VALUES (%s,%s)"
try:
cursor.execute(sql, (user_input,Ans_input))
print("Task added successfully")
except:
print("Oops! Something wrong")
else:
cursor.execute(sql)
result = cursor.fetchall()
print("Que\t\t Answer")
print("-------------------------")
for row in result:
print(str(row[0]) + "\t\t" + row[1])
except:
print("Oops! Something wrong")
connection.commit()
finally:
connection.close()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.