Я пытаюсь заставить базу данных проверять таблицу каждую секунду, чтобы увидеть, достигло ли значение XP 800, и если это так, установите значение ранга на «Элитный генин», а значение XP установите на 0. р>
@bot.event
async def on_message(message):
guild = message.guild.id
table = "PEOPLE_" + str(guild)
try:
connection = mysql.connector.connect(
host="localhost",
port="3306",
user="root",
password="root",
database="naruto_game"
)
cursor = connection.cursor()
sql_event_query = """CREATE EVENT geninpromotion
ON SCHEDULE EVERY 1 Second
STARTS CURRENT_TIMESTAMP + INTERVAL 1 Second
ENDS CURRENT_TIMESTAMP + INTERVAL 24 Hours
DO UPDATE """ + table + """ SET rank = 'Elite Genin' where xp = 800 AND SET xp = 0"""
cursor.execute(sql_event_query)
except mysql.connector.Error as error:
print("Failed to find name: {}".format(error))
finally:
if connection.is_connected():
cursor.close()
connection.close()
print("MySQL connection has been closed.")
print("Event created.")
Но когда я отправляю сообщение после его запуска, я получаю эту ошибку.
Failed to find name: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hours DO UPDATE " + table + " SET rank = 'Elite Genin' where xp = 800 AND SET xp' at line 2
Подробнее здесь: https://stackoverflow.com/questions/790 ... eaches-800
Как создать функцию MySQL для обновления базы данных, если значение достигает 800? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение