PYTHON MYSQL ВСТАВЬТЕ ОДНО ЗНАЧЕНИЕ - PullRequest
0 голосов
/ 28 марта 2020

Это не работает какой-либо идентификатор, почему? mysql .connector.errors.ProgrammingError: 1064 (42000): ошибка синтаксиса около '% s)' в строке 1

вставка в таблицу из 2 полей с ключом автоинкремента. Я просто пытаюсь вставить значение


import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  port=3306,
  user="**",
  passwd="******",
  database="db1"
)


mycursor = mydb.cursor()


sql = "INSERT INTO t_user (name) VALUES (%s)"
val = ('test')

mycursor.execute(sql, val)

mydb.commit()


Спасибо

1 Ответ

1 голос
/ 28 марта 2020

Параметры оператора обычно передаются как кортеж. Если вы хотите создать кортеж с одним элементом, синтаксис будет

val = ('test',)

Если вы пропустите запятую, тогда val будет просто содержать строку 'test', которая не будет работать в качестве вашего утверждения параметры.

...