java插入具有两个键值的表
我正在使用Postgres和java从一个数据库中编写文件。将csv转换为数据库。在我的CREATE TABLE stmnts中,我有一个存储两个键的表。我想插入这些。我现在有一个子查询,但我总是得到ckey的空值,所以语法一定是错误的。插入不起作用。错误:关系“gamesin”的“ckey”列中的null值违反了not null约束。从我创建的列表中得到的另一个值。我用的是事先准备好的声明。感谢帮助
CREATE TABLE Games(
Year INT PRIMARY KEY,
Name VARCHAR(32) NOT NULL,
StartDate Date NOT NULL,
EndDate Date NOT NULL
);
CREATE TABLE Cities(
CKey SERIAL PRIMARY KEY,
Name VARCHAR(128) UNIQUE NOT NULL,
Noc CHAR(3) REFERENCES Countries NOT NULL
);
CREATE TABLE GamesIn(
Year INT REFERENCES Games,
CKey INT REFERENCES Cities,
PRIMARY KEY(Year, CKey)
);
String sql = "INSERT INTO gamesin (year, ckey) VALUES (?, (SELECT ckey from cities WHERE cities.name = '\" + name + \"'))";
共 (0) 个答案