84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Konvertiert MySQL Zeichenfolgen automatisch in numerische Werte?
Wie funktioniert diese Konvertierung?
Wie wird diese Abfrage interpretiert, wenn units.id vom Typ bigint ist?
units.id
SELECT table.* FROM table WHERE id='text'
默认情况下,MySQL 对 1 和“1”的处理方式相同,但是您可以通过将 MySQL 行为设置为严格模式来更改它。
set @@GLOBAL.sql_mode = "STRICT_ALL_TABLES"; set @@SESSION.sql_mode = "STRICT_ALL_TABLES";
或者您可以在 sql_mode = '' 中将 my.cnf 文件中的这些变量设置为永久变量。这样,如果使用了不正确的类型,MySQL 将抛出错误。 阅读 http://dev.mysql.com/doc/ refman/5.0/en/server-sql-mode.html 了解更多详细信息
sql_mode = ''
前三个问题的答案是:是、是、否。
当字符串'text'转换为数字时,它变成值0。
'text'
0
描述类型转换的文档位于此处 .
对于您的查询:
SELECT table.* FROM table WHERE id='text';
该规则是通过文档摘录捕获的:
换句话说,这实际上相当于:
WHERE id = 0.0
默认情况下,MySQL 对 1 和“1”的处理方式相同,但是您可以通过将 MySQL 行为设置为严格模式来更改它。
或者您可以在
sql_mode = ''
中将 my.cnf 文件中的这些变量设置为永久变量。这样,如果使用了不正确的类型,MySQL 将抛出错误。 阅读 http://dev.mysql.com/doc/ refman/5.0/en/server-sql-mode.html 了解更多详细信息前三个问题的答案是:是、是、否。
当字符串
'text'
转换为数字时,它变成值0
。描述类型转换的文档位于此处 .
对于您的查询:
该规则是通过文档摘录捕获的:
换句话说,这实际上相当于: