簡體   English   中英

當您運行查詢“ SELECT * FROM table_name WHERE column_name;”時,會發生什么情況?

[英]What is happening when you run the query “SELECT * FROM table_name WHERE column_name;”?

我有一個包含幾列的數據庫表。 其中一列旨在用作TINYINT(1)DEFAULT 0的布爾設置。

我不小心發現,如果您運行此查詢

SELECT * FROM table_name WHERE column_name;

它返回column_name = 1的行。

我很好奇知道MySql用於處理此查詢的邏輯。

正如文檔在“選擇語法”中所述(( http://dev.mysql.com/doc/refman/5.1/en/select.html

where_condition是一個表達式,對於要選擇的每一行,其值為true

因此,將簡單列名評估為布爾值,並選擇相應的行。 您會發現它也適用於int。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM