Я работаю с python 3.5.2
и пытаюсь запустить команды basi c с postgres
.
Я подключаюсь к postgres docker серверу:
conn = psycopg2.connect(user='postgres', password='docker', host='127.0.0.1', port='5432')
cursor = self.conn.cursor()
Для первого времени Я создаю новую таблицу:
sql = '''CREATE TABLE ''' + self.table_name + '''(
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(6),
INCOME FLOAT
)'''
cursor.execute(sql)
И вставляю строки с помощью:
def add_emloyee(name, last, age, sex, income):
sql = '''INSERT INTO ''' + self.table_name + '''(FIRST_NAME,LAST_NAME, AGE,SEX,INCOME)
VALUES (%s, %s, %s, %s, %s)'''
cursor.execute(sql, (name, last, age, sex, income))
Все работает хорошо. Но когда я снова запускаю приложение (после того как я его закрыл и запустил снова) и комментирую команды создания таблицы (потому что я создал его в предыдущем запуске) и пытаюсь вставить новые данные в таблицу, я получаю сообщение об ошибке:
psycopg2.errors.UndefinedTable: relation "employee" does not exist
LINE 1: INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE,SEX,INCOME)
Почему это происходит?