为什么当我尝试在 table 中插入一些值时 python 输出是 none?

Why when I tried to insert some values in the table with python the output it’s none?

我有这个代码

import MySQLdb
db = MySQLdb.connect("localhost", "root", "password", "db_name")
cursor = db.cursor()

cursor.execute("INSERT INTO directedEdges (`originLbl`, `targetLbl`) VALUES 
              ('user1@enron.com', 'user2@enron.com' )")
data = cursor.fetchone()
print data

但是当我执行此脚本时,输出是 None 并且我无法将这些值插入到数据库中。为什么?

一开始我以为是数据库连接有问题,但如果我执行

import MySQLdb
db = MySQLdb.connect("localhost", "root", "password", "db_name")
cursor = db.cursor()
cursor.execute("SELECT * FROM directedEdges")
data = cursor.fetchone()
print data

我看到了 table directedEdges 的内容。

谢谢

您在插入数据库后立即发出了 cursor.fetchone() 命令。您没有任何类似的查询数据。在使用 fetchone() 之前,您需要查询一些数据。试试这个:

import MySQLdb
db = MySQLdb.connect("localhost", "root", "password", "db_name")
cursor = db.cursor()

cursor.execute("INSERT INTO directedEdges (`originLbl`, `targetLbl`) VALUES 
              ('user1@enron.com', 'user2@enron.com' )")
# Commit your insert
db.commit()

# Query for data
cursor.execute("SELECT * FROM directedEdges")

data = cursor.fetchone()
print data