Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

196
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!