MySQL使用未知的行数更新整个表并清除其余部分

时间:2011-04-12 17:52:31

标签: mysql

我很确定这个特殊的怪癖不是重复的,所以这里就是。

我有一张服务表。在此表中,我有大约40行以下列:

Services:
  id_Services -- primary key
  Name -- name of the service
  Cost_a -- for variant a of service
  Cost_b -- for variant b of service
  Order -- order service is displayed in

用户可以进入管理工具并更新任何此类信息 - 包括删除多行,添加行,编辑信息以及更改显示的顺序。

我的问题是这个,因为我永远不会知道从提交中传入多少行(可能会多出1或100%),我想知道如何在我的查询中解决这个问题。

提交后,重新提交每个值。我不想这样做,但我能想到的最简单的方法是截断表并重新插入所有东西......但这似乎有点......呃......糟糕!实现这一目标的最佳方法是什么?

重新编辑:例如:我从40行开始,用36更新。我仍然需要对第37-40行中的值执行某些操作。我怎样才能做到这一点?是否有任何mysql技巧或功能可以为我做这个?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您受到用例的限制;您正在进行插入/更新/截断,并将其作为批处理操作呈现给用户,但在后端,您必须在单独的语句中执行这些操作。

注意并发:如果可以,请使用交易。