У вас есть ошибка в синтаксисе SQL; С python - PullRequest
1 голос
/ 18 июня 2020

Это мой код python:

address_text_list = ["Electricty Substation ,Slagrove Place", "65 Slagrove Place, London", "66 Slagrove Place, London Parking Space", "61 Slagrove Place, London", "67 Slagrove Place, London"
                     , "169 Mersham Road, Thornton Heath", "171 Mersham Road, Thornton Heath", "The Ground Floor Flat At 5 Lugard Road,", "First Floor Flat, 5 Lugard Road, London"
                     , "Flat 1, 203 Coldharbour Lane, London"]

for x in range(len(address_text_list)-1):
    update = "INSERT INTO Property_details (Property_address) VALUE (%s)"
    update2 = (address_text_list[x])
    mycursor.execute (update, update2)
    db.commit()

Я попытался создать код python, который обновляет базу данных «Property_details» в столбце «Property_address» с помощью базы данных MySQL, используя python. Я получаю следующую ошибку:

File "C:/Users/User/PycharmProjects/Work/Web Scraping/Selenium/EIG properties.py", line 659, in <module>
    mycursor.execute (update, update2)
  File "C:\Users\User\PycharmProjects\Work\venv\lib\site-packages\mysql\connector\cursor.py", line 551, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "C:\Users\User\PycharmProjects\Work\venv\lib\site-packages\mysql\connector\connection.py", line 490, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "C:\Users\User\PycharmProjects\Work\venv\lib\site-packages\mysql\connector\connection.py", line 395, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 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 '%s)' at line 1

Как исправить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Попробуйте это.

address_text_list = [
    "Electricty Substation ,Slagrove Place", "65 Slagrove Place, London",
    "66 Slagrove Place, London Parking Space", "61 Slagrove Place, London",
    "67 Slagrove Place, London" , "169 Mersham Road, Thornton Heath",
    "171 Mersham Road, Thornton Heath", "The Ground Floor Flat At 5 Lugard Road,",
    "First Floor Flat, 5 Lugard Road, London", "Flat 1, 203 Coldharbour Lane, London"]

for address in address_text_list:
    query = 'INSERT INTO `Property_details` (Property_address) VALUE ("%s")' % address
    mycursor.execute(query)
    db.commit()
0 голосов
/ 18 июня 2020

Похоже, что% s вводится как значение и не форматируется правильно. Попробуйте следующее:

for x in range(len(address_text_list)-1):
    update = "INSERT INTO Property_details (Property_address) VALUE '%s'" % address_text_list[x]
    mycursor.execute (update)
    db.commit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...