关于数据库建表时的有趣实例--关键字重复
今天 使用CMD连接mysql进行简单的数据库的建表操作。信心满满的写了如下的代码:
然后就爆了个大大的错误 。简直有点莫名其妙的感觉,我是按照昨天学习的步骤写的代码,为什么会出错?
初步开始怀疑:
第一、自己的SQL语句写错了。找来了教程上的语句比较。没什么差别。
第二、是不是大小写的问题,我重新换成了大写 依旧失败。
在不知道怎么办的时候 ,我开始怀疑 这个order是不是数据库的关键字 ,因为数据排序里面有个 “order by”,于是上网查找资料:
大大的英文单词摆在了那里。我的天! 还真的是和关键词冲突了。我于是在表名后面就加了个“s” ,同样的语句,结果确完全不一样。
所以我们在建表的时候一定要避免表名与数据库关键词的冲突。
另外 ,我又在想,就算关键词冲突了,是否存在解决的办法,在网上一查,果然 ,办法还是存在的:
在表名上面加上了两点 ,这两点并不是单引号或者说是双引号,具体如下图:
想要查看表结构的话 依旧要加上双点才不会报错: 也就是说只要对当前表操作就必须都加上双点 和关键词区分。
结语 :建表表名不要和关键词冲突。但是遇到问题,要思考,寻求解决之道。多多百度。