如何针对相同的“用户”值限制MySQL的最大行数?
例如,我有表格列
id | user | data
我希望将每个用户的最大行数限制为5(相同的“用户”值)。
我的想法是使用交易(InnoDB):
start transaction
insert row with user = "XXX"
count rows, where user = "XXX"
if count < 5 commit else rollback
我的想法是好的还是存在另一个(更好的)解决方案?
答案 0 :(得分:1)
我认为没关系,你可能想做一个
select count(1) from table where user='XXX'
并在执行插入之前检查计数。