鍍金池/ 問答/ 數(shù)據(jù)庫問答
菊外人 回答

從調(diào)試工具比如gdb那拿到的結(jié)果有時不能保證是正確的。至于這到底是為什么,這也許是gdb的問題,在深入的話我也不了解了(如果有人知道的話,還請在評論區(qū)指教)。這也是為什么有的時候用IDE的單步跟蹤查看變量值可能是不正確的。

如果打log的話,就可以保證完全正確了。

還吻 回答

js 和 css 都只是靜態(tài)資源,你裝一個 nginx 啟動起來就可以了。相關(guān)內(nèi)容隨便一搜索就有,比如 http://www.runoob.com/linux/n...

有點壞 回答

圖片描述


    class User {
        private String country;
        private String province;
        private String name;

        public User(String country, String province, String name) {
            this.country = country;
            this.province = province;
            this.name = name;
        }

        public String getCountry() {
            return country;
        }

        public void setCountry(String country) {
            this.country = country;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
    class Res {
        private String country;
        private String province;
        private Integer count;

        public Res(String country, String province, Integer count) {
            this.country = country;
            this.province = province;
            this.count = count;
        }

        public String getCountry() {
            return country;
        }

        public void setCountry(String country) {
            this.country = country;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public Integer getCount() {
            return count;
        }

        public void setCount(Integer count) {
            this.count = count;
        }
    }

    @Test
    public void test1() throws Exception {
        List<Res> result = new ArrayList<>();

        List<User> list = new ArrayList<>();
        list.add(new User("中國", "北京", "張三"));
        list.add(new User("中國", "北京", "張三"));
        list.add(new User("中國", "北京", "李四"));
        list.add(new User("中國", "北京", "李四"));
        list.add(new User("中國", "北京", "李四"));
        list.add(new User("中國", "北京", "王五"));
        list.add(new User("中國", "湖南", "張三"));
        list.add(new User("中國", "湖南", "張三"));
        list.add(new User("中國", "湖南", "張三"));

        list.stream()
                .collect(Collectors.groupingBy(e -> e.getProvince()))
                .forEach((k, v) -> {
                    StringBuilder count = new StringBuilder("0");
                    v.stream().
                            collect(Collectors.groupingBy(e -> e.getName()))
                            .forEach((k2, v2) -> {
                                if (v2.size() > 1) {
                                    int c = Integer.parseInt(count.toString());
                                    count.delete(0, count.length());
                                    count.append(c + v2.size());
                                }
                            });
                    result.add(new Res(v.get(0).getCountry(), v.get(0).getProvince(), Integer.parseInt(count.toString())));
                    count.delete(0, count.length());
                });
        System.out.println(new ObjectMapper().writeValueAsString(result));
    }

StringBuilder只是起了一個計數(shù)的作用, 雖然有點low~

遲月 回答

很明顯zhiku表中沒有user這個表,如果你是想修改數(shù)據(jù)庫中的root賬號的密碼,你在執(zhí)行update語句前,要先切換到mysql這張系統(tǒng)表,方式:
mysql> use mysql;

陌離殤 回答

后來自己根據(jù)一樓做了測試,首先執(zhí)行了一下兩個語句
SELECT * FROM media_info WHERE media_id = 0

SELECT * FROM media_info WHERE media_id = '%'+'bb'+'%'

發(fā)現(xiàn)結(jié)果相同,業(yè)績證實了,@范捷琦Jackie的說法是正確的,在這樣情況下會將media強制轉(zhuǎn)化為為0整數(shù),而【'%'+'bb'+'%'】這個值也是為零的。然后我又做了一下測試【SELECT * FROM media_info WHERE media_id =1】,然后發(fā)現(xiàn)匹配出來的是media_id以1開頭的數(shù)據(jù),所以猜測應(yīng)該是,【當(dāng)利用=進行整數(shù)判斷時,會根據(jù)你所匹配的值,來進行首字母匹配對應(yīng)的數(shù)據(jù)】

詆毀你 回答

這樣的 json 結(jié)果,需要你用 Python 的數(shù)據(jù)庫類里設(shè)置好相應(yīng)的輸出 json 函數(shù)。


不敢再發(fā)我的項目鏈接,老是被那些不認真,不仔細,或者說一知半解的人舉報。

如果你想學(xué)習(xí) sql to sqlalchemy,你可以查看我的資料,然后找到相關(guān) github 項目的鏈接。

墨染殤 回答

在商店里安裝,不要手動加載開發(fā)者模式就可以了。或者直接下載postman native app。

哚蕾咪 回答

先確認一下mysql workbench和應(yīng)用程序中是不是連的一個數(shù)據(jù)庫;
然后在日志中打印一下sql運行的語句,看是否存在漢字亂碼的問題。

情未了 回答

從后臺發(fā)過來一個json,和你本地保存一個json的區(qū)別:
1、前者有網(wǎng)絡(luò)傳輸消耗,當(dāng)然比后者慢一點
2、將來城市地名更新,前者只需修改后臺程序,后者需要重新打包前端程序。

綜上所述,我認為的最佳方式是調(diào)用后臺接口獲取后,緩存在前端,前端程序退出的時候清空緩存

如果你直接寫在js里,可以省去解析json的時間(可以忽略不計)

舊城人 回答

oracle主鍵log_id 不能自動遞增
有兩個辦法:
1、使用oracle的自動增長序列
創(chuàng)建序列

create sequence S_T_THINK_LOG
increment by 1  //指定序列以1遞增,如果沒指定,默認值1會使用
start with 1        //由1開始計數(shù)
nomaxvalue     //不設(shè)置最大值
minvalue 1      //設(shè)置最小值1
cache 20        //預(yù)分配緩存大小為20
order
// 獲取下一個自增ID
public function getNextSeq(){ 
  $sql = "select S_T_THINK_LOG.nextval id from sys.dual";
  $result = $this->query($sql); 
  $nextId = $result[0]['id'];
  return $nextId;
}

function writelog($uid,$username,$description,$status)
{
    // 注意這里啦 
    // 注意這里啦 
    $data['log_id'] = $this->getNextSeq();
    
    $data['admin_id'] = $uid;
    $data['admin_name'] = $username;
    $data['description'] = $description;
    $data['status'] = $status;
    $data['ip'] = request()->ip();
    $data['add_time'] = time();
    $log = Db::name('think_log')->insert($data);

}

第二種,就是樓上說的 觸發(fā)器啦

create or replace trigger trg_TINK_LOG
  before insert on TINK_LOG
  for each row
declare
begin
  :think_log.LOG_ID:= S_T_THINK_LOG.NEXTVAL;  
end trg_t1;
念舊 回答

報錯信息不是提示你了嗎,server/views路徑下找不到error這個文件,express需要在app.js里設(shè)置view的路徑和模板引擎:

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

對應(yīng)的views文件夾下應(yīng)該有個error.jade。

舊言 回答

/usr/local/etc/mongod.conf 里有一項叫'th'的配置它識別不出來
進到mongod.conf看看

愛礙唉 回答

因為 getRealPath 是返回物理邏輯路徑,參考getRealPath);

你可能應(yīng)該用這個:getContextPath)

菊外人 回答

問題解決了,最后發(fā)現(xiàn)是mysql的多版本,調(diào)用公司自身服務(wù)接口的時候配了一個5.1.41的版本,項目本身又配了一個5.1.38的版本,后來把項目里的版本注釋掉刷新一下就解決了

伐木累 回答

KMP算法

KMP字符串模式匹配通俗點說就是一種在一個字符串中定位另一個串的高效算法。簡單匹配算法的時間復(fù)雜度為O(m*n);而KMP算法,可以證明它的時間復(fù)雜度為O(m+n)。

http://www.cnblogs.com/whyand...

雨蝶 回答

很遺憾的是EF CORE并沒有官方的Oracle支持,Oracle自己在做官方的Oracle Provider,但是還沒有完成。
EF CORE具體的支持情況可以看微軟的官方說明。

玄鳥 回答

你的數(shù)據(jù)表里面usable_log沒有指定默認值,
然后你的 SQL 語句也沒有對這個字段賦值。

忠妾 回答

墨菲定律只要有可能出錯,就一定會出錯,不管它的概率有多小。

不能連續(xù)出現(xiàn),單機服務(wù)。舉個例子,假如你使用 自增ID 在加 System.nanoTime() 組成一個 long 類型數(shù)字(是字符串形式連接,而不是加法)。這個ID就不會重復(fù)了,因為 自增ID 一定不會重復(fù)。

我不懂 回答

舉個用戶表的栗子:

id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT
username CHAR(15) NOT NULL
password CHAR(15) NOT NULL
UNIQUE (username)

現(xiàn)在主鍵是id,索引是username,對于InnoDB來說實際上有兩個索引:

id -> (username, password) // 以下稱為PK
username -> id             // 以下稱為UK

如果你這么查:SELECT id FROM user WHERE username = ...,那么MySQL只會查UK,而不會去查PK;
如果你這么查:SELECT id, password FROM user WHERE username = ...,那么MySQL會查一次UK,得到id后再查一次PK。

如果你要優(yōu)化第二句,可以多加一個索引:


KEY (username, password)

這樣就有:

(username, password) -> id // IDX

如果你再這么查:SELECT id, password FROM user WHERE username = ...,MySQL就只需要查IDX,而不用再查PK和UK了。

喵小咪 回答

select * from t2 LEFT JOIN t1 ON t2. m_top_user_list like '%t1. user_id%'