Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
MySQL SELECT no comprueba si el valor es exacto

Actualmente estoy trabajando con JS, DiscordJS y MySQL y trato de obtener algunos datos de la tabla que generalmente siempre funcionó bien. Pero estoy luchando con una consulta MySQL SELECT porque no verifica si el valor en la tabla es exactamente el mismo que está buscando. El final de la ID de Discord es diferente al que está buscando.

Código:

 let query = `SELECT * FROM accounts WHERE DiscordID = ${interaction.member.id}`; console.log(`QUERY: ` + query); MySQL.Connect() .then((connection) => { MySQL.Query(connection, query) .then((results) => { if (results == '') { console.log('[RESULTS = 0]'); console.log(results); } else { console.log('[RESULTS > 0]'); console.log(results); } }) .catch((error) => { console.log(error); }) .finally(() => { connection.end(); }); }) .catch((error) => { console.log(error); });

Resultado:

 QUERY: SELECT * FROM accounts WHERE DiscordID = 466934561738326016 RESULT: ID: 1, Username: 'Test', Password: 'Test', DiscordID: '466934561738326022'

esquema MySQL:

 CREATE TABLE IF NOT EXISTS `accounts` ( `ID` INT NOT NULL AUTO_INCREMENT, `Username` VARCHAR(255) NOT NULL, `Password` VARCHAR(255) NOT NULL, `DiscordID` VARCHAR(100) NOT NULL, PRIMARY KEY (`ID`));
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Fuiste mordido por el manejo de números de MySQL.

Usted dijo,

 SELECT * FROM accounts WHERE DiscordID = 466934561738326016

MySQL tomó ese número largo y lo convirtió silenciosamente en un número de coma flotante de 64 bits IEEE 754 , perdiendo precisión. Haciendo SELECT 466934561738326016; te llega 466934561738326000 . Eso coincide con el DiscordID incorrecto, a veces. !!

Si coloca comillas alrededor de la ID, al hacer esto, MySQL deja el valor de la ID intacto como una cadena de texto. Funciona.

 SELECT * FROM accounts WHERE DiscordID = '466934561738326016'

Compruébalo aquí. violín

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda