2017-10-08 16 views
0

SQLite3データベースから整数を選択しようとしましたが、変更された整数が返されました。私は手動でデータベースに挿入してからコマンドプロンプトプログラムで選択しようとしましたが、うまくいくように見えますが、node.jsで選択すると同じように始まる整数になりますが、0に変更された数字で終了します。ここ はコードです:SQLデータベースに格納されている整数を選択して0となる整数を選択する

function createMessage(final){ 
     console.log('starting making message') 
     db.all('SELECT * FROM humblechannel',(err,row) =>{ 
      if(err){ 
       console.log("No Channels Found"); 
      } else{ 
       row.forEach((channel)=>{ 
        console.log(channel.channelID); 
        client.createMessage(channel.channelID,{ 
        embed : { 
         color: embedColor, 
         thumbnail:{ 
          url: "https://i.imgur.com/7Tr9b7e.png", 
          height: '333', 
          width: '2000' 
         }, 
         author : { 
          icon_url: client.user.staticAvatarURL 
         }, 
         fields: final, 
         footer: { 
          text: `You Can Find More Bundles At https://www.humblebundle.com` 
         }, 
         timestamp: new Date(), 
         } 
        }) 
       }) 
      } 
     }) 
    } 

This is the result of querying through SQLite3

This is the result the code above spits out into the console after doing the above insertion

あなたが見ることができるように、彼らは明らかに異なっています。 なぜこれが起こりますか?まったく同じ値*になるが、その代わりにキャスト

SELECT CAST(channelID AS TEXT) AS channelID FROM humblechannel 

channelID:

+0

内の文字列は、ジャバスクリプト 'Number.MAX_SAFE_INTEGER'(9007199254740991) –

+0

ヒントよりも、あなたのオリジナルの整数である:上記の答えは「はい、私が使用している整数9007199254740991よりも大きい」である –

+0

はいありがとう私はこれが問題だと思うので、ヒントLOLの整数は、最大安全な整数以上の公正なビットですが、ありがとう。 – JamTheBean

答えて

0

は、私はvarchar型の代わりの整数が、一時的な修正プログラムは、これを行うことですSQLデータ型を作ったはずが判明しますこの場合

関連する問題