Почему, когда я пытался вставить некоторые значения в таблицу с python, на выходе ничего не было? - PullRequest
0 голосов
/ 05 июня 2019

У меня есть этот код

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

, я вижу содержимое таблицы DirectEdges.

Спасибо

1 Ответ

1 голос
/ 05 июня 2019

Вы ввели команду 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
...