Maison > Questions et réponses > le corps du texte
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粉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
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