|
首頁 | 討論區 | 最新話題 | 搜尋 | XML | 登入 |
![]() |
Blueimp » 列出所有討論區 » 討論區: SQL |
![]() |
|
此話題中所有文章數: 1 [ 話題狀態: 一般 ] | |
|
用 SQL 追殺 SPAM 垃圾留言這種 以己之矛攻己之盾的方法 真的是很高招,目前小惡魔網站應該還沒有被盯上的價值,不過先留下武功秘笈以備不時之需。重點說明:
首先作者的 blog 引文是要經過審核的,所以有 block=1 其他如我們一般所認知,但是... MySQL 不能接受子查詢中用到同一張資料表,這是 MySQL 4.X 的 bug。 目前小惡魔網站用的是 MySQL 5.X 尚未測試是否有相同的問題,不過依然有解法如下
順便偏題一下... o.O 這種自包查詢產生虛擬的 table 是我現在經常用到的技巧很實用 尤其像我們公司太多人在維護資料,所以產生很多資料分身相同意義的欄位 不但分散在各個地方,而且欄位名稱各有巧妙 所以我會先寫好可以 reuse 的 SQL 類似如下 insert into ... 這是一個補資料(案件)的 SQL 因為每次補充來源不一樣 所以只要在 from (...) 之內改變一下,其餘的 SQL 都可以不變 採取這個技巧 就可以省去來源不一樣時,卻使用到相同的性質欄位,而導致 join 和 insert into 之後的語法可能要跟著改的麻煩。 不過查詢裡包子查詢是要很小心使用的,必須確認未來資料增長後仍不影響效能,否則恐怕會種下一個很難察覺的問題,真的要謹慎考慮! 參考文章 xuite, pixnet, skillimp ---------------------------------------- 支持小惡魔 BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA 知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播! 藍色小惡魔(林永傑): 臉書 ---------------------------------------- [編輯文章 12 次, 最後修改: jieh 於 2016/12/28 下午 07:18:30] |
||||||
|