84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
MySQL 是否會自動將字串轉換轉換為數值?
這種轉換是如何進行的?
鑑於 units.id 是 bigint 類型,該查詢將如何解釋?
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
。描述類型轉換的文檔位於此處 .
對於您的查詢:
此規則是透過文件摘錄擷取的:
換句話說,這實際上相當於: