鍍金池/ 問答/ 數(shù)據(jù)庫問答
青黛色 回答

=.=.

事物分開,你是21的時候阻塞了。應(yīng)該是鎖(10,22)

begin;
-- 插入score value為10~21的時候會阻塞
insert into user values(5, 'test5', 10);

孤客 回答

dev-server的地址是localhost:7777,API地址是localhost:3306,你請求的時候請求localhost:7777/api/newStu/searchNewStu應(yīng)該就好了

傲寒 回答

個人觀點:

  1. 一般表只存放對應(yīng)實體本身具備的屬性字段,對應(yīng)例子中,紅包記錄應(yīng)該單獨存儲一個表
  2. 有時需要經(jīng)常查詢或者用于排序的字段可以考慮冗余,對應(yīng)例子中,紅包金額或許需要考慮在訂單中冗余存儲
  3. 例子中,一個訂單對應(yīng)多個紅包記錄,訂單中關(guān)聯(lián)紅包記錄主鍵的字段或許可以嘗試使用字符類型,存儲一組紅包id。(不確定是否合適)

希望對你有所幫助,謝謝

陌如玉 回答

JsonResponse會自動設(shè)置content-type為json/application,不用手動設(shè)置.
同時JsonResponse接收dict對象,不是字符串.
你需要把json.dumps去掉

初念 回答

sequelize只是一個 ORM ,其能力仍然是基于原生 mysql 的,mysql 本身要怎么實現(xiàn)你的需求就怎么做。

苦妄 回答

User.findOne()的內(nèi)容能發(fā)一下嗎?User.findOne()是不是返回Promise?你這樣寫試試:

user.post('/register', async(ctx) => {
let {username, password, rePassword} = ctx.request.body;

if (!username) {
    responseClient(ctx, 400, 2, '用戶名不可為空');
    return;
}
if (!password) {
    responseClient(ctx, 400, 2, '密碼不可為空');
    return;
}
if (password !== rePassword) {
    responseClient(ctx, 400, 2, '兩次密碼不一致');
    return;
}   

try{
   User.findOne({username}).then(function(doc,err){
        if(err){
             responseClient(ctx);
         }

         if(doc){
             responseClient(ctx, 200, 1, '用戶名已存在');
             return;  
         }else{
             //保存到數(shù)據(jù)庫
            let user = new User({
                 username: username,
                 password: password,
                 type: 'user'
             });

             user.save(function(err, doc){
                 if(err){
                     console.log(err);
                 }
                 if(doc){
                     let data = {};
                     data.username = doc.username;
                     data.userType = doc.type;
                     data.userId = doc._id;
                     responseClient(ctx, 200, 0, '注冊成功', data);
                     return;
                 }
             });   
         }
     })

       }

}catch(e){
    responseClient(ctx);
}

})

墨染殤 回答
f.write("省略你寫的".format("省略你寫的").replace('\xa0', ' '))
\xa0 是不間斷空白符  
逗婦惱 回答

emm...我測試過,V5.6,mod沒問題,但是月份是不行。如第1樓的回答。

處理方式是:單獨加字段保存月份,用這個月份字段做分區(qū),查詢加條件就可以。

深記你 回答

select * from test1 where find_in_set(id,(select ids_str from test2));

別逞強 回答

建議你還是在將數(shù)據(jù)卷掛載到本地
給你我本地開發(fā)所使用的docker-compose和Dockerfile部分代碼作為參考,希望可以幫助到你

db:
        container_name: 'local_db'
        build: ./services/mysql
        environment:
          MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
        ports:
          - "3306:3306"
        volumes:
          - ${MYSQL_DATA_PATH}:/var/lib/mysql
FROM mariadb:10.1
MAINTAINER crazycodes <919342864@qq.com>

ADD ./config/default.cnf /etc/mysql/conf.d/default.cnf
舊時光 回答

這個是可以正常運行的..是自己測試數(shù)據(jù)的問題..

冷眸 回答

ORDER BY SUBSTR(dpp, 7, 4)

局外人 回答

把條件查詢放到子查詢中。

喜歡你 回答

不知道你解決了沒有,按個人環(huán)境不同可能問題不同,解決方式不好一概而論,建議你使用docker安裝方式


1.安裝docker腳本:$ curl -sSL https://get.docker.com/ | sh
2.安裝DB腳本(正式環(huán)境的話,需要link參數(shù)來備份容器數(shù)據(jù),開發(fā)環(huán)境的話就不用了):
$ docker run --name mongoDB -d -P mongo
3.查看映射端口:docker ps -a
4.接下來把防火墻關(guān)了,用數(shù)據(jù)庫工具訪問下

愿如初 回答

后來發(fā)現(xiàn)了async.mapSeries能將多個任務(wù)的結(jié)果匯集在一起圖片描述

墨染殤 回答

已經(jīng)解決了,不僅要把數(shù)據(jù)庫字符集換成指定的utf8mb4,數(shù)據(jù)連接的時候也要設(shè)置chatset為utf8mb4
參考1:mysql npmjs
參考2:博客

clipboard.png

若相惜 回答

1.一天100w的數(shù)據(jù),有效用戶是多少?一個用戶需要存儲多少數(shù)據(jù)?
2.這張表是只寫入后續(xù)統(tǒng)計使用?還是寫查都在一起?如果,寫查都在一起,索引建好,效率也不會太低,but,一天100w,qps也不會低吧?單庫單表撐不住吧