2008年11月26日 星期三

動態改變POST的URL

Javascript的code如下,送出時先執行acFun()來切換action位置

function acFun()
{
if (document.form1.ac.value=="2")
document.form1.action="a.aspx";
else
document.form1.action="b.aspx";
document.form1.submit()
}

排程執行MYSQL指令

接著上一篇MYSQL刪除重複資料老是手動去執行MYSQL指令也是很麻煩的一件事,
於是寫了一個副檔名是bat的檔案..內容如下

PATH=%PATH%;D:\database\AppServ\mysql\bin\
mysql -u root < songlist.sql

再寫一個副檔名是sql的檔案..內容如下

use webdata;
ALTER IGNORE TABLE songlist ADD UNIQUE INDEX(dt,tp);
quit ;

之後設定一下排程 ex.每天晚上11點去執行這個bat檔案就可以囉..^^

2008年11月22日 星期六

MySQL刪除重複資料

最近發現公司DB裡某個資料表異常的大,後來發現是RCS主機會每1分鐘insert4~10筆的資料進去~
所以還沒一年就有快2百萬筆記錄,每當使用者透過UI查詢就會造成MYSQL龐大的搜尋,更何況敝
公司還提供手機查詢的功能,這些記錄是有重覆性的,就像下面這樣..

sn dt tt tp
1 2008-02-26 17:01:00 香蕉 加樂福
2 2008-02-26 17:01:00 西瓜 金銀倒
3 2008-02-26 17:01:00 香蕉 加樂福
4 2008-02-26 17:01:00 西瓜 金銀倒
5 2008-02-26 17:02:00 蘋果 加樂福
6 2008-02-26 17:02:00 牛奶 金銀倒
7 2008-02-26 17:02:00 蘋果 加樂福
8 2008-02-26 17:02:00 牛奶 金銀倒

在時間點2008-02-26 17:01:00 就會有相同是tt香蕉 及 tp加樂福 的資料重覆,由於找不到insert
來源的那支程式在哪執行..所以我就決定先把重覆的刪除,並由SERVER排程去執行。

好用的MYSQL語法 ALTER IGNORE TABLE 資料表 ADD UNIQUE INDEX(欄位1,欄位2);

假設我這Table name 是songlist,欄位1是tt,欄位2是tp,SQL語法組合起來如下...
ALTER IGNORE TABLE songlist ADD UNIQUE INDEX(tt,tp);
之後就會發現重覆的資料已經不見了....^^

sn dt tt tp
1 2008-02-26 17:01:00 香蕉 加樂福
2 2008-02-26 17:01:00 西瓜 金銀倒
5 2008-02-26 17:02:00 蘋果 加樂福
6 2008-02-26 17:02:00 牛奶 金銀倒

##EasyReadMore##