sql語句中的小引號問題

用Navicat導出的SQL文件中看到以下語句:mysql

DROP TABLE IF EXISTS `ls_about`;
CREATE TABLE `ls_about` (
  `id` int(5) NOT NULL AUTO_INCREMENT,
  `title` varchar(1000) DEFAULT NULL,
  `type_id` tinyint(2) DEFAULT NULL,
  `author` varchar(16) DEFAULT NULL,
  `pics` varchar(50) DEFAULT NULL,
  `content` longtext,
  `times` datetime DEFAULT NULL,
  `copyfrom` varchar(50) DEFAULT NULL,
  `description` varchar(550) DEFAULT NULL,
  `keywords_title` varchar(200) DEFAULT NULL,
  `keywords` varchar(100) DEFAULT NULL,
  `posids` int(1) DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `type` (`type_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

可是本身敲入客戶端時,老是提示語法錯誤。後來google一下,才知道‘ls_about'外包含的不是單引號,而是小引號。sql

小引號就是數字鍵1左邊的那個鍵打出來的字符 " ` "。使用小引號主要是爲了與mysql系統函數重名,致使解析錯誤,以下例:函數

CREATE TABLE IF NOT EXISTS ls_conf(
  name varchar(32) NOT NULL,
  value int(10) NOT NULL,
  desc TEXT DEFAULT NULL,

  PRIMARY KEY (`name`)
)ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

若是不加小引號,客戶端程序一定會解析desc爲mysql內置命令,形成SQL語句沒法執行。至於爲何使用小引號,而不使用單引號,筆者也不清楚了。可能怕單引號解析也google

會一樣會出現錯誤吧。spa

相關文章
相關標籤/搜索