試用navicat工具查看現網mysql建表語句時,發現表名和字段名都是反引號引發來的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保留字,不然出錯 sql
名字上帶反的反引號,這個實際上是爲了防止 當字段爲關鍵字時,用這個符號就能夠不報錯了bash
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這種關鍵字,用這個符號就不會出錯了 工具
參考連接url
http://blog.163.com/zhu329599788@126/blog/static/66693350201721651918235/code