Код в последовательности работает нормально, но стремится улучшить код MySQL до более эффективного формата.
Первый случай касается функции, которая получила параметр и возвращает customerID из MySQL db:
def clean_table(self,customerName):
getCustomerIDMySQL="""SELECT customerID
FROM customer
WHERE customerName = %s;"""
self.cursorMySQL.execute(getCustomerIDMySQL,(customerName))
for getID_row in self.cursorMySQL:
customerID=getID_row[0]
return customerID
В том случае, если мы знаем заранее, что результатом будет всего один вывод, как вставить то же самое в мой getID_row, без использования оператора "for"?
Во втором случае функция выполняется с именем таблицы ('customer') ...
def clean_tableCustomer(self):
cleanTableQuery = """TRUNCATE TABLE customer;"""
self.cursorMySQL.execute(cleanTableQuery)
setIndexQuery = """ALTER TABLE customer AUTO_INCREMENT = 1;"""
self.cursorMySQL.execute(setIndexQuery)
тогда как заменить имя таблицы в качестве параметра, передаваемого через функцию? Вот как я пытался это сделать:
def clean_table(self,tableName):
cleanTableQuery = """TRUNCATE TABLE %s;"""
self.cursorMySQL.execute(cleanTableQuery,(tableName))
setIndexQuery = """ALTER TABLE %s AUTO_INCREMENT = 1;"""
self.cursorMySQL.execute(setIndexQuery,(tableName))
Но на этот раз MySQL не работал.
Все комментарии и предложения высоко ценятся.