繁体   English   中英

如果使用Python(PyMySQL)不存在,则将值插入MySQL数据库

[英]Insert value to MySQL Database if not exist using Python(PyMySQL)

我试图从现有数据库中获取值,如果不存在,也将值插入数据库。

此代码可以正常获取值的值,但我无法将值插入数据库..

    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**

我终于找到了这个解决方案

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM