все, я действительно не знаю, как решить мою проблему, я думаю, что это ошибка кеша (памяти). Я проверяю подключение запущенного python локально к Google Clou SQL - MYSQL с использованием CloudProxy
Я столкнулся с проблемой, когда идентификатор автоинкремента в моей таблице сбрасывается со стороны python Локально, я очень новичок в этом.
То, что я сделал, было
- удалил connection.commit () из кода, чтобы проверить, может ли он вставить в облако SQL без коммита ( )
- запускал файл python несколько раз, данные отображались в локальном терминале, но не в облачной базе данных
- вставил connection.commit () обратно в код и запустил
- каким-то образом идентификатор автоинкремента начался в том месте, где python ушел, а не из облака SQL.
ID пользователя был 11 с обеих сторон, я удалил connection.commit () и нажал кнопку "Выполнить" Несколько раз он показывал вывод базы данных локально с вставкой, затем я проверял, что облако SQL не получало никакой вставки, поэтому я вставил connection.commit () обратно в код. Я играл с .commit ()
Когда я нажимаю снова запустить с connect.commit (), вывод показывает, что userID начинался с 22 на локальном и облачном SQL, но это должно быть 12.
Я не знаю, как решить эту проблему, я пытался перезапустить облачный прокси и python программа, не работала. Это не большая проблема, если я оставляю commit () и никогда не удаляю его, но я просто хочу знать, что происходит.
Я сделал снимки экрана моего терминала и базы данных Cloud SQL, вот мой код.
import mysql.connector
connection = mysql.connector.connect(host='127.0.0.1',
user='root',
password='root',
db='account')
con = connection.cursor()
firstname = "Test123"
lastname = "Test123"
phone = "1234567890"
email = "yi@gmail.com"
address1 = "RMIT Street"
address2 = "Melbourne"
postcode = "1234"
state = "VIC"
username = "test111"
password = "abc123"
#userid will auto increment
statement = "INSERT INTO user (firstname, lastname, phone, email, address1, address2, postcode, state, username, password) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
value = (firstname,lastname,phone,email,address1,address2,postcode,state,username,password)
con.execute(statement,value)
connection.commit()
con.execute("select * from user")
for a,b,c,d,e,f,g,h,i,j,k in con.fetchall():
print (a,b,c,d,e,f,g,h,i,j,k)