鍍金池/ 問答/ 數(shù)據(jù)庫問答
墨小羽 回答

@jzoom 的思路是對的,但具體寫法上max函數(shù)的字段不對,我補充一下:

select a.*, b.*
from a join (select aid, max(id) as max_id from b group by aid) b1 on a.id = b1.aid
       join b on b1.max_id = b.id
默念 回答

先給一個粗略的回答,需要完善一些信息才知道是否支持你的平臺。
MongoDB是不是支持國產(chǎn)平臺實際上跟你的硬件平臺沒有直接的關(guān)系,主要還是看操作系統(tǒng)。你提到的Linux SW_64我個人并沒有接觸過,但是想看一下它是從哪個Linux發(fā)行版分支出來的。不同的發(fā)行版支持的依賴軟件包不一樣,鏈接庫的位置也不完全一樣,所以可執(zhí)行文件不是隨便找一個就可以執(zhí)行的,應(yīng)該找到你的系統(tǒng)來源系統(tǒng),先試試它的來源系統(tǒng)是否有包可以運行,如果不行,則嘗試自己編譯源代碼。

傲寒 回答

你是在navicat里面直接改嗎?改完后ctrl + s 試試?

任她鬧 回答

其實建議去掉連接池試試看的,如果去掉后就正常了,那么多半是連接池本身配置有問題。

連接池有時候是很坑的,若不是遇到性能瓶頸了,不一定非用不可的。

我以為 回答

從MongoDB 3.6開始支持這樣的方法,參考文檔:$[]運算符
3.6 對數(shù)組操作做了一些強化,關(guān)于數(shù)組的其他操作參考文檔:Array Update Operators

安于心 回答

從這報錯來看應(yīng)該是你在res.send()或者其它方法,已經(jīng)發(fā)送了返回請求后,又發(fā)送了一遍返回請求。
既然你覺得改了PLAN_SHZT這方面的問題,可以檢查下邏輯,看看是否因為這個問題導(dǎo)致發(fā)生了多次的res響應(yīng)。

撿肥皂 回答

存儲過程需要使用root用戶進行創(chuàng)建. 相當(dāng)于某個數(shù)據(jù)庫中的一個函數(shù).

創(chuàng)建一次就OK.

綰青絲 回答

where dl.dealers_id = 161
下面的 id = 161 是不是錯了,查出來空的?
還是報了什么錯,getLastSql()打印一下語句

糖豆豆 回答

自問自答!

// 模擬前端返回的數(shù)據(jù)
paperForm = {
    name: '試卷名',
    total: 100,
    ....
    questions: [
        {
            name: '問題1',
            answer: 'A',
            type: 'single',
            ...
        },
        {
            name: '問題2',
            answer: 'A',
            type: 'single',
            ...
        },
        ...
    ]
}
exports.savePaper = function (req, res) {
  let paperForm = req.body.paperForm;
  let userName = req.session.userName;

  // console.log(paperForm);
  // console.log(userName);
  if(paperForm == {}){
    res.json({
      status:'5',
      msg: '數(shù)據(jù)不能為空'
    })
  }
  Teacher.findOne({"userName": userName}, (err,doc)=>{
    if (err) {
      res.json({
        status:'1',
        msg: err.message
      })
    } else {
      if (doc) {
        let paperData = {
          name:paperForm.name,
          totalPoints:paperForm.totalPoints,
          time:paperForm.time,
          _teacher: doc._id,
          _questions: [],
          examnum:0
        }
        Paper.create(paperData,function (err1,doc1) {
          if (err1) {
            res.json({
              status:'1',
              msg: err.message
            })
          } else {
            if (doc1) {
              // console.log('doc1 paper:'+doc1._id);
              doc._papers.push(doc1._id); // 教師中添加該試卷
              doc.save(); // 很重要 不save則沒有數(shù)據(jù)
              // console.log('doc teacher'+doc._papers);
              paperForm.questions.forEach(item => {
                item._papers = [];
                item._papers.push(doc1._id);
                item._teacher = doc._id;
              })
              Question.create(paperForm.questions,function (err2,doc2) {
                if (err2) {
                  res.json({
                    status:'1',
                    msg: err.message
                  })
                } else {
                  if (doc2) {
                    // console.log('doc2 ques:'+doc2)
                    doc2.forEach(item => {
                      doc1._questions.push(item._id);
                    })
                    doc1.save(); // 很重要 不save則沒有數(shù)據(jù)
                   res.json({
                      status:'0',
                      msg: 'success'
                    })
                  } else {
                    res.json({
                      status: '2',
                      msg:'沒找到題目'
                    })
                  }
                }
              })
            } else {
              res.json({
                status: '2',
                msg:'沒找到試卷'
              })
            }
          }
        })
      }
      else {
        res.json({
          status: '2',
          login: false,
          msg:'請登錄'
        })
      }
    }
  })
};

這個是我的實現(xiàn)方法,這已經(jīng)算是‘回調(diào)地獄’了,有需要可以自己用Promise優(yōu)化。

鐧簞噯 回答

謝謝邀請 , 沒用過windows做開發(fā) , 不了解 .
不過有如下幾點你可以檢查一下:

  1. mysql的運行用戶是哪個
  2. 運行mysql的用戶是否擁有對目錄的讀寫權(quán)限

在linux下,這些相對都是容易的事,windows還真不太了解.見諒.

瘋子范 回答

一般是樹形結(jié)構(gòu),統(tǒng)計的時候還是從最上級root節(jié)點開始,遞歸統(tǒng)計.

逗婦惱 回答

理解不太正確。對于sharded cluster, mongos是用于放在mongod前面做路由用的,shell還是mongo這個程序,它既可以連mongod又可以連mongos。

mongo --host "mongodb://mongos1,mongos2,mongos3.../db"
若相惜 回答

一般都需要設(shè)置為空字符串,因為null無法走索引。

linode的ip+端口號,默認(rèn)應(yīng)該是3306端口
你鏈接試試

近義詞 回答

可以嵌套在user表里:
{

'_id':ObjectId("52ffc33cd85242f436000001"),
'name':'Jackey',
backpack: {
    'backpack_color': 'white'
}

}
類似這樣,如果數(shù)量越來越多的話,可以考慮索引:
就是單獨建表,然后在引用背包表的id放到 user表里即可

陪我終 回答

你的網(wǎng)站根目錄下

互擼娃 回答

1match against

2 SELECT * FROM table WHERE field REGEXP ‘[[]?uid[]]?’;

乖乖瀦 回答
Db::table('order')->where('username','like',':username')->bind(['username'=>'%web%'])->select();