как вставить имя файла в виде строковой переменной в базу данных mysql в python - PullRequest
0 голосов
/ 17 февраля 2020

Я извлек имя файла из определенного каталога. Имя файла является строковой переменной. Например: «LineNo-YYMMDD_hhmm». Теперь я хочу вставить имя файла в существующую базу данных MySQL. Но не могу найти, как добавить в качестве переменной str. Это то, что я пытался. Другой способ также проверить net.

....

file_prefix = os.path.basename(name)[: - (len(filetail))]
(file_prefix is: LineName-200215_1619)
try: 
    connection = mysql.connector.connect(
                host='localhost', db = 'db_name', 
                user='usr', password='myPass')
   mysql_insert_query = " INSERT INTO fileHeader (headInfo) VALUES %s" % str(file_prefix)
   cursor = connection.cursor()
   cursor.execute(mysql_insert_query)
   connection.commit()
   cursor.close()

except mysql.connector.Error as error:
    print ("Failed to insert record into fileHeader table {}".format(error))

Получение следующей ошибки:

Failed to insert record into fileHeader table 1064 (42000): You have an error in your SQL syntax;    
check the manual that corresponds to your MySQL server version for the right syntax to use near  
'LineName-200215_1619' at line 1 

1 Ответ

1 голос
/ 17 февраля 2020

добавьте '' в вашем mysql_insert_query:

 mysql_insert_query = " INSERT INTO fileHeader (headInfo) VALUES ( '{0}')".format(file_prefix)
...