我有一个名为ticket
的表,我想在用户从前端点击向上/向下按钮时交换两行。使用SQL查询交换两行
为此,我添加了一个名为ticket_index的自动生成字段。但我无法执行此操作。
我写了下面的查询
UPDATE ticket as ticket1
JOIN ticket as ticket2 ON (ticket1.ticket_index = 1 AND ticket2.ticket_index = 4)
OR (ticket1.ticket_index = 4 AND ticket2.ticket_index = 1)
SET
ticket1.ticket_index = ticket2.ticket_index,
ticket2.ticket_index = ticket1.ticket_index
谁能给我正确的SQL查询?请让我知道是否需要额外的信息。谢谢
这似乎都错了 - 你为什么需要交换? ?这不是如何在一个合适的SQL数据库中完成....我宁愿添加一个名为“序列”的列,它定义了您的行出现的顺序('SELECT(cols)FROM dbo.Ticket ORDER BY Sequence')有了这个,你只需要改变'Sequence'列中的两个值,这就是你所需要的...... – 2011-05-16 14:10:15
也许'ticket_index' *是OP的'Sequence'。 – 2011-05-17 05:47:52