python - J'ai une question sur l'insertion dans une base de données
某草草
某草草 2017-06-12 09:27:56
0
4
809

Python3 ou sqlite3

info = "'INSERT INTO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) VALUES(?,?,?,?)',('2017-05-28','12:23:32', 123, 0) "

cur.execute(info)

Cela signalera une erreur : sqlite3.OperationalError

cur.execute('INSERT INTO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) VALUES(?,?,?,?)',('2017-05-28','12:23:32', 123, 0 ))

Cela fonctionnera.

某草草
某草草

répondre à tous(4)
代言

cur.execute a deux paramètres, l'un est SQL et l'autre consiste à transmettre des valeurs aux paramètres SQL. Votre première phrase entre guillemets doubles est équivalente à une chaîne, c'est-à-dire un paramètre, et le deuxième paramètre ne l'est pas. passé

世界只因有你

info = "INSERT INTO brush_card_record(brush_card_date, brush_card_time, card_num_6061, card_num_6654) VALUES(%s,%s,%s,%s)"%('2017-05-28','12:23:32', 123 , 0)

或者str.format

曾经蜡笔没有小新
sqlite中是这么定义:

class Connection(object):
    """ SQLite database connection object. """
    def cursor(self, *args, **kwargs): # real signature unknown
        """ Return a cursor for the connection. """
        pass
        
class Cursor(object):
    """ SQLite database cursor class. """
    def execute(self, *args, **kwargs): # real signature unknown
        """ Executes a SQL statement. """
        pass   

问题中的第一种方式无法自动解包
曾经蜡笔没有小新

La question a été trouvée, merci pour la réponse !

Lorsque l'insertion de nouvelles données dans la table de la base de données est dynamique, un meilleur moyen consiste à générer d'abord str, puis à la transmettre à cur.execute() en tant que paramètre.

Exemple de code :

insert_info = '''\
INSERT INTO %s(brush_card_date, brush_card_time, card_num_6061, card_num_6654) \
VALUES("%s", "%s", %s, %s)''' % (f_table_name, date, now_time, gold_6061, gold_6654)

cur.execute(insert_info)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!