MySQL字段名中包含點的問題是在使用MySQL的過程中經常會遇到的一個問題。通常情況下,我們都會很少使用包含點的字段名,但有時候不得不使用。
在MySQL中,字段名中包含點“.”的情況需要特別注意。因為MySQL中的點“.”是特殊字符,如果字段名中包含點,則需要使用反引號 “`” 來包住字段名,才能正確的使用它。
CREATE TABLE `mytable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user.name` varchar(255) DEFAULT NULL, `user.address` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
如上代碼所示,我們創建了一張名為mytable的表,在其中定義了一些包含點的字段名,比如user.name和user.address。需要注意的是,這些包含點的字段名都需要使用反引號包住,才能正常地使用。
在使用包含點的字段名時,需要特別注意sql語句的寫法,因為點“.”會被誤認為是語句的分隔符。
SELECT `user.name`, `user.address` FROM `mytable` WHERE `id`=1;
如上代碼所示,我們在SQL語句中使用了包含點的字段名,必須使用反引號來包住字段名,才能正常地查詢。
在MySQL中,盡可能避免使用包含點的字段名,以免在未來的使用中出現問題。如果確實必須使用包含點的字段名,那么在定義表和使用sql語句時,一定要注意正確的用法。
上一篇mysql字段名關鍵字