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
채널 ID :
의 문자열이 Javascript를'Number.MAX_SAFE_INTEGER' (9007199254740991) –
힌트보다는 원래 큰 정수입니다 : 위의 대답은 "예, 내가 사용 정수가 9007199254740991보다 더 크다"입니다 –
예 감사합니다 힌트 롤 들어, 정수는 최대 안전한 정수 이상의 공정한 비트 그래서 나는 이것이 문제라고 생각합니까, 감사. – JamTheBean