我們知道通常的SQL查詢語句是這麼寫的:
復制代碼 代碼如下:select col from table;
這當然沒問題,但如果字段名是“from”呢?
復制代碼 代碼如下:select from from table;
若真的這麼寫,必然出錯,當字段名與MySQL保留字沖突時,可以用字符“`”將字段名括起來:
復制代碼 代碼如下:select `from` from table;
總結
剛發現我原先設計的數據庫表裡有兩個字段都用了保留字(add,comment)。在insert和update的時候出錯。記得sql server裡好像是用[]括起來就ok了。於是試了一下,事實證明這在mySql裡行不通。上網簡單搜了一下發現都是說用中括號。後來又想到MySql Administrator生成的sql語句好像會把表名什麼都用單引號括起來。試了一下,還是行不通。但復制生成的那個符號發現可以。確定那個符號不是單引號。一看才發現時撇號(` 就是數字1前面那個鍵上的)。到此問題解決。總結一下就是一句話:
在Mysql中,當表名或字段名乃至數據庫名和保留字沖突時,在sql語句裡可以用撇號(`)括起來。