【发布时间】:2019-03-24 14:28:18
【问题描述】:
我正在创建两个表,我想在 customer_email 列上放置一个外键,知道它不是主键。
那么可以在没有主键的情况下创建外键吗?以及我如何使用 DATE()?
这是我的餐桌客户和订单:
CREATE TABLE customer(
customer_id INTEGER PRIMARY KEY NOT NULL,
customer_email VARCHAR(225)
customer_name VARCHAR(225)
customer_last_name VARCHAR(225)
);
CREATE TABLE order(
order_id INTEGER PRIMARY KEY NOT NULL
customer_email VARCHAR(225) REFERENCES customer(customer_email)
product_1 DECIMAL(10,2)
product_2 DECIMAL(10,2)
product_3 DECIMAL(10,2)
product_4 DECIAML(10,2)
product_5 DECIAML(10,2)
order_date DATE()
);
【问题讨论】:
-
date()是一个函数,但是你需要定义一个数据类型为:order_date date的列 -
请注意,您的
order表未标准化,您应该有一个额外的表来存储单个订单中包含的产品,请阅读标准化(顺便说一句:order是一个 真的一个表的名字不好,因为order是一个保留关键字,你必须使用双引号,"order"才能使用它)。 -
是的...您在此处发布的代码甚至无法编译,请不要使用
order来命名您的表和列。 -
我知道这个订单是个坏名字,但我就是这么想的……是否可以自动输入日期,所以输入当天的日期?因为如果我现在选择 (),请给我今天的日期。