我有一個名爲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