Как вставлять в базу данных данные которых там еще нет
names = [item["nick"] for item in data["moderators"]]
discord_u = [item["user_id"] for item in data["moderators"]]
vk_m = [item["vk"] for item in data["moderators"]]
x = {
'nick': names,
'user_id': discord_u,
'vk': vk_m
}
mydb = mysql.connector.connect(
host="",
user="",
password="",
database="",
)
curs = mydb.cursor()
for i in range(len(names)):
sql = 'SELECT id FROM moderator WHERE id = discord_u'
if sql is None:
sqlFormula = 'INSERT INTO moderator (id, coins, nick, warns, VK) VALUES (%s, %s, %s, %s, %s)'
values = (discord_u[i], 0, names[i], 0, vk_m[i])
curs.execute(sqlFormula, values)
else:
pass
Ответы (2 шт):
Автор решения: Aliaksei Lz
→ Ссылка
names = [item["nick"] for item in data["moderators"]]
discord_u = [item["user_id"] for item in data["moderators"]]
vk_m = [item["vk"] for item in data["moderators"]]
x = {
'nick': names,
'user_id': discord_u,
'vk': vk_m
}
mydb = mysql.connector.connect(
host="",
user="",
password="",
database="",
)
curs = mydb.cursor()
for i in range(len(names)):
curs.execute('SELECT * FROM moderator WHERE id = %s', (discord_u,))
sql = curs.fetchall()
if len(sql)<1:
sqlFormula = 'INSERT INTO moderator (id, coins, nick, warns, VK) VALUES (%s, %s, %s, %s, %s)'
values = (discord_u[i], 0, names[i], 0, vk_m[i])
curs.execute(sqlFormula, values)
mydb.commit()
else:
pass
Автор решения: PoNi
→ Ссылка
Вот пример решения:
import pymysql
mydb = pymysql.connect(host='localhost',
user='root',
password='',
database='ggg',
cursorclass=pymysql.cursors.DictCursor)
curs = mydb.cursor()
discord_u = input("discord: ")
names = input("names: ")
vk_m = input("vk_m: ")
sql = f"SELECT id FROM moderator WHERE id = '{discord_u}' AND nick = '{names}' AND vk = '{vk_m}'"
curs.execute(sql)
result = curs.fetchall()
print(len(result))
if len(result) == 0:
with mydb:
with mydb.cursor() as cursor:
sqlFormula = 'INSERT INTO moderator (id, coins, nick, warns, VK) VALUES (%s, %s, %s, %s, %s)'
curs.execute(sqlFormula, (discord_u, 0, names, 0, vk_m))
mydb.commit()
else:
pass