我想在我的 python 脚本中插入我的 MySQL Workbench 数据库,但是如果某个值已经存在,我试图让它只插入一次时遇到问题。因此,假设我正在插入名称,并且名称“Bob”已经在数据库中,此时我不想再次插入它。
我一直在寻找其他资源,目前正在尝试:
for account in accounts:
sql = ("If Not Exists(SELECT * FROM Accounts WHERE Account_Name = " + str(account) + ") "
"Begin "
"INSERT into Accounts (Account_Name, Account_ID, Formatted_Name, Crawler_Name) VALUES (%s, %s, %s, %s) "
"End")
val = (account, '0', 'test', 'test')
mycursor.execute(sql, val)
mydb.commit()
其中 account 是一些与此处无关的字符串。我基本上想将帐户插入数据库但只有一次,如果它再次运行并且找到相同的帐户,我不想重新插入重复项(常规插入语句会这样做)。
我得到的错误是:“mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'If Not Exists 附近使用的正确语法(SELECT * FROM Accounts WHERE Account_Name = DE - Kipling DE)从第 1 行开始“
我会很感激任何帮助!:)