试用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