(轉)mysql創建表時反引號的作用


 試用navicat工具查看現網mysql建表語句時,發現表名和字段名都是反引號引起來的

CREATE TABLE `tab_notice_title_tv` (
  `i_id` int(11) NOT NULL AUTO_INCREMENT,
  `c_opcom_key` varchar(32) DEFAULT NULL,
  `c_view_type` int(11) DEFAULT '1' COMMENT '平台類型,1:標清,2:高清',
  `c_title` varchar(32) DEFAULT NULL,
  `c_status` int(2) DEFAULT '0',
  `c_creator` varchar(32) DEFAULT '',
  `c_createtime` varchar(32) DEFAULT NULL,
  `c_deleted` int(2) NOT NULL DEFAULT '0',
  PRIMARY KEY (`i_id`)
) ENGINE=MyISAM AUTO_INCREMENT=46 DEFAULT CHARSET=gbk;

反引號,一般在ESC鍵的下方。
它是為了區分MYSQL的保留字與普通字符而引入的符號。
舉個例子:SELECT `select` FROM `test` WHERE select=’字段值’
在test表中,有個select字段,如果不用反引號,MYSQL將把select視為保留字而導致出錯,所以,有MYSQL保留字作為字段的,必須加上反引號來區分。
引號一般用在字段的值,如果字段值是字符或字符串,則要加引號,如:select=’字段值’
不加反引號建的表不能包含MYSQL保留字,否則出錯

 

名字上帶反的反引號,這個其實是為了防止 當字段為關鍵字時,用這個符號就可以不報錯了

CREATE TABLE `zz_files` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` int(11) DEFAULT NULL,
  `name` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,
  `fileurl` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL,
  `ext` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '擴展名',
  `cate` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL,
  `desc` int(11) DEFAULT NULL,
  `c_time` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

如上對於desc這種關鍵字,用這個符號就不會出錯了 

 

 

參考鏈接

http://blog.163.com/zhu329599788@126/blog/static/66693350201721651918235/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM