我正在尝试对产品发表评论。我正在为aws dynamodb scan --table-name my-table --select ALL_ATTRIBUTES --page-size 500 --max-items 100000
表设置两个主键,CommentID
和ProductID
。但是我要使用的主键如下:对于每个Comments
,ProductID
应该从头开始计数。因此,对于CommentID
,ProductID = 1
应该从1开始递增,对于CommentID
,ProductID = 2
也应该从1开始递增,依此类推。同时CommentID
是指向Product表的外键。
有人可以指导我如何进行存档吗?这是一个好习惯还是有一个更好的解决方法,除了制作两个主键之外?
谢谢!
答案 0 :(得分: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 = ?