現有一張表space_user,表中有個字段priority,該字段的順序是亂的,我想把該字段重新排序,mysql資料庫的sql語句如下:
update space_user target,(
select (@rowno := @rowno+1) as rowno,a.* from
(select * from space_user t where t.`status`=1 order by t.priority asc,t.createtime desc) a,
(select @rowno :=0) b
) s
set target.priority=s.rowno
where target.id=s.id;
其中select * from space_user t where t.`status`=1 order by t.priority asc,t.createtime desc是我要參與排序的記錄。
where target.id=s.id這裡的id是space_user表的主鍵,如果你的主鍵是聯合主鍵的話,就把聯合主鍵都寫上,目的就是確保記錄的唯一性,避免多條記錄賦予了相同的序號。
將資料庫的表字段輸出,增加表別名
最近需要去掉sql中select 的語句,提高sql效能,乙個個手動加別名有點蛋疼 將資料庫的表字段輸出,增加表別名,以逗號隔開 mysql安裝成功後可以看到已經存在mysql information schema和test這個幾個資料庫,information schema庫中有乙個名為colum...
查詢整個資料庫中某個特定值所在的表和字段的方法
此為原創 有時候我們想通過乙個值知道這個值來自資料庫的哪個表以及哪個字段,在網上搜了一下,找到乙個比較好的方法,通過乙個儲存過程實現的。只需要傳入乙個想要查詢的值,即可查詢出這個值所在的表和欄位名。前提是要將這個儲存過程放在所查詢的資料庫。create procedure dbo sp findva...
查詢整個資料庫中某個特定值所在的表和字段的方法
有時候我們想通過乙個值知道這個值來自資料庫的哪個表以及哪個字段,在網上搜了一下,找到乙個比較好的方法,通過乙個儲存過程實現的。只需要傳入乙個想要查詢的值,即可查詢出這個值所在的表和欄位名。前提是要將這個儲存過程放在所查詢的資料庫。procedure dbo sp findvalueindb valu...