Я создал таблицу с помощью этого создать команду, как:Как вставить данные в таблицу?
CREATE TABLE test_table(id INT PRIMARY KEY,name VARCHAR(50),price INT)
я хочу, чтобы вставить в эту таблицу, где значения хранятся уже в переменной
bookdb=# name = 'algorithms'
bookdb-# price = 500
bookdb-# INSERT INTO test_table VALUES(1,'name',price);
я получаю следующее сообщение об ошибке:
ERROR: syntax error at or near "name" LINE 1: name = 'algorithms'
Может ли кто-нибудь указать на ошибку и предложить решение для вышеуказанного?
Заранее спасибо
Edit:
import psycopg2
import file_content
try:
conn = psycopg2.connect(database='bookdb',user='v22')
cur = conn.cursor()
cur.execute("DROP TABLE IF EXISTS book_details")
cur.execute("CREATE TABLE book_details(id INT PRIMARY KEY,name VARCHAR(50),price INT)")
cur.execute("INSERT INTO book_details VALUES(1,'name',price)")
conn.commit()
except:
print "unable to connect to db"
Я использовал приведенный выше код для вставки значений в таблицу, переменные имя и цена, содержащий значения, которые будут вставлены в таблицу доступны в файле python file_content, и я импортировал этот файл. Нормальный оператор INSERT принимает значения вручную, но я хочу, чтобы мой код принимал значения, которые хранятся в переменных.
Like ошибка говорит: ваша первая строка не является допустимым оператором SQL. Вы хотите заменить содержимое переменной в коде python. – mabi
отредактировал вышеприведенный код. Как передать значения инструкции INSERT, которая хранится в переменных? – user2635299
Хммм ... Я думал, что существенно переписать вопрос был неодобрительно на StackExchange. Это уже не вопрос Postgres. Эта новая перезаписанная версия является вопросом программирования Python. –