0

我正在尝试为产品创建评论部分。我正在为表设置两个主键, theCommentID和 the 。但是我想要对主键做的事情如下:对于 each ,应该从头开始计数。所以对于,应该从 1 开始并递增,对于,也应该从 1 开始并递增,依此类推。同时是指向 Product 表的外键。ProductIDCommentsProductIDCommentIDProductID = 1CommentIDProductID = 2CommentIDProductID

有人可以指导我如何存档,这是一个好习惯还是存在更好的解决方法,除了制作两个主键?

谢谢!

4

1 回答 1

2

我会使用IDENTITY列/序列(单PK):

CREATE TABLE comments(comment_id INT IDENTITY(1,1) PRIMARY KEY,  
                      product_id INT REFERENCES Product(product_id),
                      some_text VARCHAR(1000),
                      -- ...
                      );

并选择:

SELECT *,
   ROW_NUMBER() OVER(ORDER BY comment_id) AS rn 
  -- if you really need consecutive numbers
FROM comments
WHERE product_id = ?
于 2018-07-09T19:32:28.583 回答