recherche

Maison  >  Questions et réponses  >  le corps du texte

MySQL convertit/convertit automatiquement la chaîne en nombre ?

MySQL convertit-il automatiquement les chaînes en valeurs numériques ?

Comment fonctionne cette conversion ?

Étant donné que units.id est de type bigint, comment cette requête sera-t-elle interprétée ?

SELECT table.* 
FROM table 
WHERE id='text'

P粉336536706P粉336536706515 Il y a quelques jours800

répondre à tous(2)je répondrai

  • P粉099145710

    P粉0991457102023-10-25 00:55:21

    Par défaut, MySQL traite 1 et "1" de la même manière, mais vous pouvez modifier cela en définissant le comportement de MySQL en mode strict.

    set @@GLOBAL.sql_mode  = "STRICT_ALL_TABLES";
    set @@SESSION.sql_mode = "STRICT_ALL_TABLES";

    Ou vous pouvez définir ces variables dans le fichier my.cnf comme variables permanentes dans sql_mode = ''. De cette façon, MySQL générera une erreur si un type incorrect est utilisé. Lisez http://dev.mysql.com/doc/ refman/5.0/en/server-sql-mode.html pour plus de détails

    répondre
    0
  • P粉330232096

    P粉3302320962023-10-25 00:05:40

    Les réponses aux trois premières questions sont : oui, oui et non.

    comme une ficelle 'text'转换为数字时,它变成值0.

    La documentation décrivant les conversions de types se trouve ici .

    Pour vos demandes :

    SELECT table.* 
    FROM table 
    WHERE id='text';

    Cette règle est capturée via un extrait de documentation :

    En d’autres termes, cela équivaut en réalité à :

    WHERE id = 0.0

    répondre
    0
  • Annulerrépondre