我尝试向日志表插入一行,但它会抛出一条错误消息。 ><
log
表结构如下:
no integer NOT NULL nextval('log_no_seq'::regclass)
ip character varying(50)
country character varying(10)
region character varying(10)
city character varying(50)
postalCode character varying(10)
taken numeric
date date
和我的查询:
INSERT INTO log (ip,country,region,city,postalCode,taken,date) VALUES
("24.24.24.24","US","NY","Binghamton","11111",1,"2011-11-09")
=> ERROR: column "postalcode" of relation "log" does not exist
第二次尝试查询:(没有邮政编码)
INSERT INTO log (ip,country,region,city,taken,date) VALUES
("24.24.24.24","US","NY","11111",1,"2011-11-09")
=> ERROR: column "24.24.24.24" does not exist
我不知道自己做错了什么......
PostgreSQL没有日期时间类型? (2011-11-09 11:00:10)
答案 0 :(得分:10)
尝试单引号(例如'2011-11-09')
答案 1 :(得分:5)
PostgreSQL有一个“日期时间”类型:timestamp
。阅读manual here。
如果您希望按 ,那么双重""
用于标识符。 @wildplasser建议你最好不要使用它们。
字符串文字用单引号''
括起来。
首先阅读Lexical Structure一章。这是非常翔实的。 :)
答案 2 :(得分:2)
尝试以这种方式重写:
INSERT INTO log(ip,country,region,city,“postalCode”,take,date)VALUES ('24 .24.24.24' , 'US', 'NY', '宾厄姆顿', '11111',1, '2011-11-09');
当您使用列名称或保留字(例如“列”,“行”等)的混合大小写时,您必须使用双引号而不是值,您必须使用单引号正如您在示例中所看到的那样。