Форум сайта python.su
0
Добрый день.
В общем тренируюсь тут на кошках как говориться. Создал таблицу в Postgres и пробую делать запросы через Python
Но столкнулся с проблемой, может кто подскажет как ее обойти.
import psycopg2 i = 1 n = "Имя" s = "Фамилия" y = "0000-00-00" t = "00:00:00" con = psycopg2.connect( host = "127.0.0.1", database = "test", user = "postgres", password = "pass") cur = con.cursor() cur.execute("select id from testing_table") rows = cur.fetchall() for r in rows: print (f"id {r[0]}") cur.close() con.close() i = int(input ("Введите ID: ")) print (i) n = str(input ("Введите Имя: ")) print (n) s = str(input ("Введите Фамилию: ")) print (s) y = str(input ("Введите гггг-мм-дд рождения: ")) print (y) t = str(input ("Введите 00:00:00 время: ")) print (i, n, s, y, t) con = psycopg2.connect( host = "127.0.0.1", database = "test", user = "postgres", password = "Best4KamCH") cur = con.cursor() cur.execute("insert into testing_table (id,name,second,year,time) values (%s, %s, %s, %s, %s)", ( i, name, second, year, time)) cur.execute("select * from testing_table") rows = cur.fetchall() for r in rows: print (f"id {r[0]} name {r[1]} second {r[2]} year {r[3]} time {r[4]}") con.commit() cur.close() con.close()
Отредактировано Gas999 (Сен. 19, 2020 04:20:10)
Офлайн
253
Gas999Это ответ на ваш вопрос. Примерно так
Как сделать чтоб Python считывал ID
new_id = max([i[0] for i in rows])+1
Gas999Часто вижу такое, и оно меня неизменно удивляет. Что по вашему возвращает input? Строку! Так зачем строку преобразовывать в строку? Мне интересно как вы (да и огромное число других людей) такой код получаете. Я вот пишу команду которую я знаю. И которая решает мою задачу Если не получается результат ДОПИСЫВАЮ код чтобы заработало. Помоему ваш код невозможно получить, поскольку он заработает до того как вы допишете str. А написать сразу str невозможно потому что она не имеет отношения к делу. Не знать что возвращает input тоже нельзя, потому что применяешь команды которые ЗНАЕШЬ. Я в полной растерянности и недоумении. Я что-то не понимаю.
n = str(input (“Введите Имя: ”))
Офлайн
27
Кто мешает сделать колонку id автоинкрементальным? Мне кажется, этот способ более оптимальный, чем задание нового id через питон.
Офлайн