postgresql - 即使在提交之后也没有使用 psycopg2 找到关系/表
问题描述
我开始使用 psycopg2 并且对 psql 也有基本的了解。我之前确实在其中一个成功的数据库中创建了一个表。但是,当尝试为新 DB 创建表时,该表并未被创建。
没有错误,psycopg2
已正确安装在我的 Windows10 上,并且我也习惯于commit()
使数据库更改持久化。我使用 pgAdmin4 GUI 检查并创建了数据库,但是没有创建表。
IDE-VS 代码;Postgres v12.2
参考代码
import psycopg2
connection = psycopg2.connect('dbname=todoapp')
cursor = connection.cursor()
# drop existing table
# cursor.execute('DROP TABLE IF EXISTS todo;')
cursor.execute('''
CREATE TABLE todo(
id serial PRIMARY KEY,
description varchar NOT NULL
);
''')
cursor.execute('INSERT INTO todo(id, description) VALUES (1, buy 2L milk);')
connection.commit()
connection.close()
cursor.close()
解决方案
单引号搞砸了。使用双引号解决了这个问题。将插入查询更改为“INSERT INTO todo(id, description) VALUES (1, 'Buy Milk');” .
推荐阅读
- python - 根据索引查找列表中大于条件的对数的最佳代码?
- r - NA富包问题的物种富集
- java - Java drawRect() 方法有奇怪/错误的大小
- python - 枕头 - OSError:无法识别图像文件
- regex - 如何在 Google 表格中找到出现的德语变音符号?
- git - 合并拉取请求时,提交出现在本地不存在的 GitHub 上
- java - Java 泛型继承
- python - 单击带有 Selenium 的 WhatsApp 弹出窗口
- javascript - 使用 webpack 动态更改 Ejs 文件中的脚本标签
- javascript - 由于 useState 挂钩,我无法在 Safari 上正确处理状态