我有一个用户表和一个目标表。用户可以输入目标。每个表都有一个INT
自动递增的主键。现在我想在INT
代表用户目标 ID 的目标表中添加一个字段,这样如果 UserA 输入 5 个目标,这个新字段将包含从 1 到 5 的值。对于 UserB .. UserN 也是如此。我可以单独在 MySQL 端执行此操作,还是必须事先在我的 PHP 代码中提取数据以确定下一个数字。
问问题
80 次
1 回答
0
像这样的查询呢:
INSERT INTO goals(col1, col2, col3, user_goal_id)
SELECT :val1, :val2, :val3, MAX(user_goal_id)+1
FROM goals
WHERE user_id = :user_id
GROUP BY user_id
? 我想这是最简单的方法...
或者也许这也可以工作:
INSERT INTO goals(col1, col2, col3, user_goal_id)
SELECT :val1, :val2, :val3, user_goal_id+1
FROM goals
WHERE user_id = :user_id
ORDER BY user_goal_id DESC
LIMIT 1
或者您可以创建一个触发器或一些功能......
于 2012-12-12T15:10:08.123 回答