python下向sqlite插入记录,是否存在过记录的判断不起作用
怪我咯
怪我咯 2017-04-18 09:04:44
0
1
649

每次都是返回 False

import sqlite3

conn = sqlite3.connect('urls.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS  urls (id integer primary key autoincrement, link text)') 

def url_exists(url):
    sql_cmd = '''select * from urls where link = '%s' ''' % url
    cursor.execute(sql_cmd)
    res = cursor.fetchall()
    if len(res) > 0 :
        print '%s exists' % url
        return True
    else:
        sql_cmd_2 = '''insert into urls(link) values('%s') ''' % url
        cursor.execute(sql_cmd_2)
        print '%s added' % url
        return False
    cursor.close()
    conn.commit()
    conn.close()

url_status = url_exists('example.com')
print url_status
怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(1)
小葫芦

Si vous retournez True, vous pouvez commit.。。

importer sqlite3

conn = sqlite3.connect('/tmp/urls.db')
curseur = conn.curseur()
curseur.execute ('CRÉER UNE TABLE SI N'EXISTE PAS d'URL (identifiant entier de clé primaire, auto-incrémentation, texte du lien)') 

def url_exists(url):
    sql_cmd = '''select * à partir des URL où lien = '%s' ''' % url
    curseur.execute(sql_cmd)
    res = curseur.fetchall()
    suc = Vrai
    si len(res) > 0 :
        imprimer '%s existe' % url
        suc = Vrai
    autre:
        sql_cmd_2 = '''insérer dans les valeurs des URL (lien) ('%s') ''' % url
        curseur.execute(sql_cmd_2)
        imprimer '%s ajouté' % url
        suc = Faux
    curseur.close()
    conn.commit()
    conn.close()
    retour suc

url_status = url_exists('exemple.com')
imprimer url_status
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal