sql - Postgres 插入问题:“产品 1”列不存在。Postgres插入问题
问题描述
这是docker-compose.yml
我的文件。一切都很完美,直到它开始将数据插入表中。根据对其他问题的回答,我尝试了各种postgres
图像,例如13-alpine
, 12-alpine
,但最后仍然出现错误。10.5-alpine
version: '3.9'
services:
productservice:
build: ./productservice
container_name: productservice
ports:
- '5000:5000'
depends_on:
- 'db'
db:
image: 'postgres:13-alpine'
restart: always
container_name: postgre-db
environment:
POSTGRES_DB: microservice
POSTGRES_USER: postgres
POSTGRES_PASSWORD: 123
volumes:
- data:/var/lib/postgresql/data
- ./productservice/sql/create-table.sql:/docker-entrypoint-initdb.d/create_table.sql
- ./productservice/sql/fill-table.sql:/docker-entrypoint-initdb.d/fill_table.sql
volumes:
data:
这是我create-table.sql
在sql
文件夹中的文件。
CREATE TABLE IF NOT EXISTS product (
product_id INT NOT NULL,
product_name varchar(20) NOT NULL,
product_description varchar(100) NOT NULL,
product_price FLOAT NOT NULL,
PRIMARY KEY (product_id)
);
最后是fill-table.sql
我尝试将数据插入表的文件。
INSERT INTO product (product_id, product_name, product_description, product_price)
VALUES
(1001, "Product 1", "A product", 12.99),
(1002, "Product 2", "A product", 13.99),
(1003, "Product 3", "A product", 14.99),
(1004, "Product 4", "A product", 15.99),
(1005, "Product 5", "A product", 16.99),
(1006, "Product 6", "A product", 18.99),
(1007, "Product 7", "A product", 19.99),
(1008, "Product 8", "A product", 20.99),
(1009, "Product 9", "A product", 21.99),
(1010, "Product 10", "A product", 22.99);
这是我在docker-compose up --build
应用程序时在 Docker 上得到的错误日志。
postgre-db | /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/fill_table.sql
postgre-db | 2021-04-25 12:24:19.668 UTC [51] ERROR: column "Product 1" does not exist at character 103
postgre-db | 2021-04-25 12:24:19.668 UTC [51] STATEMENT: INSERT INTO product (product_id, product_name, product_description, product_price)
postgre-db | VALUES
postgre-db | (1001, "Product 1", "A product", 12.99),
postgre-db | (1002, "Product 2", "A product", 13.99),
postgre-db | (1003, "Product 3", "A product", 14.99),
postgre-db | (1004, "Product 4", "A product", 15.99),
postgre-db | (1005, "Product 5", "A product", 16.99),
postgre-db | (1006, "Product 6", "A product", 18.99),
postgre-db | (1007, "Product 7", "A product", 19.99),
postgre-db | (1008, "Product 8", "A product", 20.99),
postgre-db | (1009, "Product 9", "A product", 21.99),
postgre-db | (1010, "Product 10", "A product", 22.99);
postgre-db | psql:/docker-entrypoint-initdb.d/fill_table.sql:12: ERROR: column "Product 1" does not exist
postgre-db | LINE 3: (1001, "Product 1", "A product", 12.99),
解决方案
尝试使用单引号 ' 而不是双引号 "
VALUES
(1001, 'Product 1', 'A product', 12.99),
(1002, 'Product 2', 'A product', 13.99),
(1003, 'Product 3', 'A product', 14.99),
(1004, 'Product 4', 'A product', 15.99),
(1005, 'Product 5', 'A product', 16.99),
(1006, 'Product 6', 'A product', 18.99),
(1007, 'Product 7', 'A product', 19.99),
(1008, 'Product 8', 'A product', 20.99),
(1009, 'Product 9', 'A product', 21.99),
(1010, 'Product 10', 'A product', 22.99);
推荐阅读
- arcgis - ESRI 弹出窗口最大化按钮丢失
- c# - ASP.NET Core IStringLocalizerFactory 并发
- javascript - 如何在 React 中使用导入的图像?
- java - 用于嵌入式 @ElementCollection 的具有嵌套查询的条件生成器 IN 子句
- android - android ,在 google 中遇到 requestServerAuthCode 问题
- swift - 条件绑定的初始化程序必须具有可选类型,而不是“字符串”在干净构建后不起作用
- ios - 带有触控指示器的 iOS 模拟器屏幕录制
- typescript - 空接口扩展另一个接口是否具有成本效益?TS
- javascript - 如何将 CSS 对象链接到 JavaScript 对象。(在代码中,而不是在文件中。)
- android - android UI中的酷水平工具