【问题标题】:Database management systems_pgadmin III数据库管理系统_pgadmin III
【发布时间】:2016-12-24 04:00:25
【问题描述】:
CREATE TABLE Products
(
pid INT NOT NULL,
pname varchar(50) NOT NULL,
price INT NOT NULL,
stock INT NOT NULL,
PRIMARY KEY (pid)
);

CREATE TABLE Customer
(
Cid INT NOT NULL,
Cname varchar(50) NOT NULL,
Caddress varchar(150) NOT NULL,
Ccontact varchar(20) NOT NULL,
PRIMARY KEY (Cid),
);

CREATE TABLE orders
(
orderid int not null,
quantity int not null,
purchased_on date not null,
totalprice float not null,
Cid INT NOT NULL,
Pid INT NOT NULL,
PRIMARY KEY (orderid),
FOREIGN KEY (pid) REFERENCES Products(pid)
FOREIGN KEY (cid) REFERENCES Customers(pid)
);

为什么代码无法运行 pgadmin III,

谢谢。

【问题讨论】:

  • 您的 SQL 语句中有许多小错误。但他们就是这样,错别字。 (例如:拼写错误的表名、错误的列名、缺少逗号、多余的逗号等)我相信您可以弄清楚它们。我投票结束,因为关于拼写错误的问题不在 SO 上,因为它们对未来的读者没有用。

标签: database postgresql rdbms pgadmin


【解决方案1】:

所有脚本都应更正如下。阅读校正线前面的 cmets。所有大写的列名和表名都放在双引号内。

CREATE TABLE "Products"
(
pid INT NOT NULL,
pname varchar(50) NOT NULL,
price INT NOT NULL,
stock INT NOT NULL,
PRIMARY KEY (pid)
);

CREATE TABLE "Customer"
(
"Cid" INT NOT NULL,
"Cname" varchar(50) NOT NULL,
"Caddress" varchar(150) NOT NULL,
"Ccontact" varchar(20) NOT NULL,
PRIMARY KEY ("Cid") -- Removed additional comma (,)

CREATE TABLE orders
(
orderid int not null,
quantity int not null,
purchased_on date not null,
totalprice float not null,
"Cid" INT NOT NULL,
"Pid" INT NOT NULL,
PRIMARY KEY (orderid),
FOREIGN KEY ("Pid") REFERENCES "Products"(pid), -- Added missing comma (,)
FOREIGN KEY ("Cid") REFERENCES "Customer"("Cid") -- Referenced table should be Customer not Customers and  reference key should be Cid not pid
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多