데이터베이스 값이 이미 존재하는지 확인하는 방법 (how to check if databases values are already exists)


문제 설명

데이터베이스 값이 이미 존재하는지 확인하는 방법 (how to check if databases values are already exists)

저는 사용자가 보내는 메시지의 양을 계산하는 디스코드 봇을 만들고 있습니다. 저는 처음에 사용자 ID와 길드 ID가 이미 삽입되었는지 확인하고 싶습니다. 왜냐하면 내가 실행할 때 동일한 길드 ID와 사용자 ID를 복제하여 메시지를 보냅니다. 어떻게 해결할 수 있습니까?

이것은 내 코드입니다:

@client.event
async def on_message(message):
    sql = ("INSERT INTO citizens (guild_id, user_id) VALUES (%s, %s)")
    val = (message.guild.id, message.author.id)
    mycursor.execute(sql, val)

    mydb.commit()

참조 솔루션

방법 1:

You can have an unique constraint on guild_id, user_id and add try catch on mycursor.execute(sql, val) .

방법 2:

You could start with a query checking in your database if the values already exist and then perform an update of the existing values.

(by MuntadherShantanuMattias)

참조 문서

  1. how to check if databases values are already exists (CC BY‑SA 2.5/3.0/4.0)

#MySQL #Python #discord.py #discord






관련 질문

MySQL: IN(p1)은 IN(p1, p2, ...)과 다르게 작동합니까? (MySQL: Does IN(p1) function differently to IN(p1, p2, ... )?)

SQL 테이블 카운팅 및 조인 (SQL Table Counting and Joining)

ORA-00979: Oracle에 대한 GROUP BY 표현식이 아니지만 절 차이의 컨텍스트에서 MySQL에 대해서는 유효하지 않습니다. (ORA-00979: not a GROUP BY expression for Oracle but not valid for MySQL in context of clause difference)

PHP에서 카테고리 및 하위 카테고리 목록 검색 (Retrieve Category & Subcategory list in PHP)

R과 반짝이는 다층 테이블을 만드는 방법은 무엇입니까? (How to make multiple layered table form with R and shiny?)

mysql에서 저장 프로시저가 더 효율적입니까? (In mysql, are stored procedures more efficient?)

PHP - MySQL 쿼리 문제 (PHP - Mysql query problem)

데이터베이스 값이 이미 존재하는지 확인하는 방법 (how to check if databases values are already exists)

SQL 테이블에서 누락된 날짜를 채우는 방법 (How to fill the missing date in a sql table)

잘린 잘못된 DOUBLE 값을 수정하는 방법: '정의되지 않음' 오류 (How to fix Truncated incorrect DOUBLE value: 'undefined' error)

반복되는 NotSupportedError: 인증 플러그인 'caching_sha2_password'가 지원되지 않습니다. 이전 솔루션을 시도했지만 소용이 없었습니다. (Repeated NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported tried the previous solutions to no avail)

MySQL (버전 8.0 이하) : 날짜 값을 선택하고 마일스톤 날짜 테이블에서 날짜 행을 반환합니다. (MySQL (version lower then 8.0) : Select where date value and return a row of dates from table of milestone date)







코멘트