我有以下問題。URLS僅當 "my_url" 不在db 中時,我才想將 "my_url" 發送到db URLS。我在 Python 中使用兩種方法來做到這一點:
def exist_url(self, my_url): # Returns true/false if my_urls is in the db
query = """
SELECT url FROM URLS
WHERE url=(%s)
"""
self.cursor.execute(query, my_url)
return self.cursor.fetchone()
def insert_url(self, my_url): #sinserts my_url to db
query = """
INSERT INTO URLS
VALUES (%s)
"""
self.cursor.execute(query, my_url)
self.connection.commit()
我可以將這兩個功能合二為一嗎?那就是檢查一個查詢是否my_urls已經存在URLS,如果沒有插入到那里?謝謝
uj5u.com熱心網友回復:
您可以使用不存在邏輯的插入:
def insert_url(self, my_url): #sinserts my_url to db
query = """
INSERT INTO URLS (url)
SELECT %s
WHERE NOT EXISTS (SELECT 1 FROM URLS WHERE url = %s)
"""
self.cursor.execute(query, (my_url, my_url,))
self.connection.commit()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/395651.html
