这就是我在order table
中的内容,如何使用order_ID
来增加user_Name and OrderDate
增量?它会起作用吗?
CREATE TABLE Order
(
order_ID int NOT NULL AUTO_INCREMENT,
user_Name CHAR(15),
product_ID CHAR(6) NOT NULL,
order_Quantity int,
OrderDate datetime NOT NULL DEFAULT GETDATE(),
PRIMARY KEY(order_ID),
FOREIGN KEY(user_Name) REFERENCES FUser(user_Name),
FOREIGN KEY(product_ID) REFERENCES Product(product_ID)
);
示例数据:
order_ID user_Name product_ID order_Quantity OrderDate
1 blabla a 2 11-11-08 13:23
1 blabla b 1 11-11-08 13:23
1 blabla c 1 11-11-08 13:23
2 c a 2 11-11-08 13:23
2 c b 2 11-11-08 13:23
答案 0 :(得分:0)
Order是SQL的关键字(保留字) 其他关键字 http://std.csit.sci.tsu.ac.th/512021495/user1.1.php
答案 1 :(得分:0)
我自己从不使用触发器(很难调试)......但我担心你需要完成这个自定义工作...看看MSDN(插入/更新触发器)......它会一定会帮助你...
答案 2 :(得分:0)
评论太长了。
包含订单的表应具有OrderId
列,该列是自动递增的主键。你的代码写得正确。
但是,您的表格不是订单表。这是一个订单产品表。所以,我会写这样的数据模型:
CREATE TABLE Users (
UserId NOT NULL AUTO_INCREMENT PRIMARY KEY
UserName VARCHAR(15)
);
CREATE TABLE Orders (
OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserId CHAR(15),
OrderDate datetime NOT NULL DEFAULT GETDATE(),
FOREIGN KEY (UserId) REFERENCES Users(UserId)
);
CREATE TABLE OrderProducts (
OrderProductId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ProductId int NOT NULL,
OrderQuantity int,
OrderDate datetime NOT NULL DEFAULT GETDATE(),
FOREIGN KEY(ProductId) REFERENCES Product(ProductId)
);
注意:
user_name
。物品存放在一个地方。