Это should be:
cursor.execute ("""
UPDATE tblTableName
SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Вы можете также сделать это с основной работы со строками,
cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
но this way is discouraged because it leaves you open for SQL Injection. Поскольку это так просто (и аналогично) сделать это вправоtm. Сделайте это правильно.
Единственное, что вы должны быть осторожны, это то, что некоторые базы данных не поддерживают одно и то же соглашение для замены строк (на ум приходит SQLite).
Ответ Паоло лучше. http://stackoverflow.com/questions/1307378/python-mysql-update-statement/1307413#1307413 – voyager
Но этот будет работать с каждым бэкэндом. Эта версия не делает никаких проверок на входе, в то время как путь Паоло позволит избежать содержимого переменных. – voyager
Do * не * делаю так. Вы полностью раскрываете атаки SQL-инъекций. У Пауло есть правильный ответ, потому что он гарантирует, что значения будут правильно экранированы, прежде чем передавать их в db. –