<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      莊生曉夢

      莊生曉夢迷蝴蝶

      博客園 首頁 新隨筆 聯(lián)系 訂閱 管理

      通過觀察ditto的表發(fā)現(xiàn), 可以添加觸發(fā)器進行統(tǒng)計粘貼次數(shù)的功能,不需要用源碼

      Ditto 是一款強大的 Windows 剪貼板增強工具,它支持64位操作系統(tǒng),而且完全免費,綠色開源,支持中文,而且還有免安裝的綠色版本。

      開啟 Ditto 后,不會有任何程序界面出現(xiàn),它只是默默地在系統(tǒng)右下角彈出了一個藍色的托盤圖標,這時候你復(fù)制任何內(nèi)容到剪貼板都會被 Ditto 一一記錄。如果你什么時候想找到它,就可以按 Ctrl+`,當中的每條內(nèi)容都可以供你選擇性的重新復(fù)制。

      使用navicat連接數(shù)據(jù)庫

      主要使用的表

      Types

      MainDeletes

      Main

      Data

      CopyBuffers

      通過觀察Main表發(fā)現(xiàn)數(shù)據(jù)庫結(jié)構(gòu)

      /*
       Navicat Premium Data Transfer
      
       Source Server         : ditto
       Source Server Type    : SQLite
       Source Server Version : 3035005 (3.35.5)
       Source Schema         : main
      
       Target Server Type    : SQLite
       Target Server Version : 3035005 (3.35.5)
       File Encoding         : 65001
      
       Date: 17/04/2023 10:44:23
      */
      
      PRAGMA foreign_keys = false;
      
      -- ----------------------------
      -- Table structure for Main
      -- ----------------------------
      DROP TABLE IF EXISTS "Main";
      CREATE TABLE "Main" (
        "lID" INTEGER PRIMARY KEY AUTOINCREMENT,
        "lDate" INTEGER,
        "mText" TEXT,
        "lShortCut" INTEGER,
        "lDontAutoDelete" INTEGER,
        "CRC" INTEGER,
        "bIsGroup" INTEGER,
        "lParentID" INTEGER,
        "QuickPasteText" TEXT,
        "clipOrder" REAL,
        "clipGroupOrder" REAL,
        "globalShortCut" INTEGER,
        "lastPasteDate" INTEGER,
        "stickyClipOrder" REAL,
        "stickyClipGroupOrder" REAL,
        "MoveToGroupShortCut" INTEGER,
        "GlobalMoveToGroupShortCut" INTEGER
      );
      
      -- ----------------------------
      -- Auto increment value for Main
      -- ----------------------------
      UPDATE "sqlite_sequence" SET seq = 50355 WHERE name = 'Main';
      
      -- ----------------------------
      -- Indexes structure for table Main
      -- ----------------------------
      CREATE INDEX "Main_CRC"
      ON "Main" (
        "CRC" ASC
      );
      CREATE INDEX "Main_ClipGroupOrder"
      ON "Main" (
        "clipGroupOrder" DESC
      );
      CREATE INDEX "Main_ClipOrder"
      ON "Main" (
        "clipOrder" DESC
      );
      CREATE UNIQUE INDEX "Main_ID"
      ON "Main" (
        "lID" ASC
      );
      CREATE INDEX "Main_InGroup2"
      ON "Main" (
        "lParentId" ASC,
        "stickyClipGroupOrder" DESC,
        "bIsGroup" ASC,
        "clipGroupOrder" DESC
      );
      CREATE INDEX "Main_IsGroup"
      ON "Main" (
        "bIsGroup" DESC
      );
      CREATE INDEX "Main_MoveToGroup"
      ON "Main" (
        "MoveToGroupShortCut" DESC,
        "GlobalMoveToGroupShortCut" DESC
      );
      CREATE INDEX "Main_ParentId"
      ON "Main" (
        "lParentID" DESC
      );
      CREATE INDEX "Main_ShortCut2"
      ON "Main" (
        "lShortCut" DESC,
        "globalShortCut" DESC
      );
      CREATE INDEX "Main_TopLevel"
      ON "Main" (
        "stickyClipOrder" DESC,
        "bIsGroup" ASC,
        "clipOrder" DESC
      );
      CREATE INDEX "Main_TopLevelParentID"
      ON "Main" (
        "lParentId" ASC,
        "stickyClipOrder" DESC,
        "bIsGroup" ASC,
        "clipOrder" DESC
      );
      
      -- ----------------------------
      -- Triggers structure for table Main
      -- ----------------------------
      CREATE TRIGGER "delete_data_trigger"
      BEFORE DELETE
      ON "Main"
      FOR EACH ROW
      BEGIN
      INSERT INTO MainDeletes VALUES(old.lID, datetime('now'));
      END;
      
      PRAGMA foreign_keys = true;

      通過表結(jié)構(gòu)發(fā)現(xiàn)里面是有一個觸發(fā)器進行記錄刪除時間的

      同理可以增加一個觸發(fā)器,記錄更新時間,就可以記錄下粘貼的使用id和時間

      添加觸發(fā)器

      -- 添加 ditto 觸發(fā)器
      DROP TRIGGER "main"."update_date_trigger"
      
      
      CREATE TRIGGER "main"."update_date_trigger"
      BEFORE UPDATE
      ON "Main"
      BEGIN
        -- 這里是因為粘貼一次,會進行兩次update, 所以這里刪除掉已經(jīng)記錄的時間,避免生成兩個一樣的記錄
        DELETE FROM MainPaste WHERE lastPasteDate=old.lastPasteDate;
      	-- 記錄一次粘貼記錄
        INSERT INTO MainPaste VALUES(old.lID, old.lastPasteDate);
      END
      
      COMMIT;

      統(tǒng)計粘貼次數(shù)

      測試結(jié)論,通過粘貼四次 “好的”, 可以查詢出復(fù)制了四次

      -- 統(tǒng)計粘貼次數(shù)
      select t1.*, t2.mText from 
      ( select clipID, count(clipID) cnt from MainPaste group by clipID order by count(clipID)  desc) t1,
      Main t2 
      where t1.clipID = t2.lID;

      統(tǒng)計的作用

      1. 通過一段時間的使用,可以記錄使用次數(shù)最高的記錄
      2. 使用了如果一年多,則 ditto.db 的文件會特別的大。 則根據(jù)使用記錄次數(shù), 可以刪除一些不常用的數(shù)據(jù), 避免空間浪費

      posted on 2023-04-17 11:04  qwop  閱讀(153)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲高清偷拍一区二区三区| 色综合色综合久久综合频道88| 国产欧美日韩精品丝袜高跟鞋| 国产羞羞的视频一区二区| 人妻无码ΑV中文字幕久久琪琪布| 板桥市| 国产成人亚洲精品在线看| 亚洲第一狼人成人综合网| 国产日韩精品欧美一区灰 | 人人妻人人狠人人爽天天综合网 | 男人狂桶女人出白浆免费视频| 亚洲色偷偷色噜噜狠狠99 | 99国产精品欧美一区二区三区| 欧美丰满熟妇bbbbbb| 亚洲国产区男人本色| 亚洲av无码之国产精品网址蜜芽| 国产成人无码性教育视频| www国产精品内射熟女| 国产深夜福利在线免费观看| 欧美视频免费一区二区三区| 亚洲人成网线在线播放VA| 你拍自拍亚洲一区二区三区| 国产第一页浮力影院入口| 国产成人精品三级麻豆| 国产精品自拍视频第一页| 日本不卡的一区二区三区| 亚洲欧美激情在线一区| 亚洲一区二区三区在线| av亚洲在线一区二区| 国产精品无码素人福利不卡| 在线观看无码av免费不卡网站| 蜜桃臀av一区二区三区| 黄页网址大全免费观看| 亚洲婷婷综合色高清在线| 国产农村老熟女国产老熟女 | 国产电影一区二区三区| 吉川爱美一区二区三区视频| 中文字幕日韩有码国产| 国产女同疯狂作爱系列| 日本一区二区中文字幕久久| 精品日韩亚洲AV无码|