mysql的关键字name

今天建表的时候用name作为列,查询的时候发现不太对SELECT * FROM employee WHERE name='123',name作为关键字不应该这样写吗SELECT * FROM employee WHERE name='123',然后我试了试SELECT * FROM employee WHERE DROP='123'来写,发现抱错,必须DROP才可以,为什么name却可以,红色因为csdn转义了, 就是``这个字符

DROP 是删除表关键字,name 也是的,我们可以使用关键字作为列的别名。这个是sql语法规定,不用纠结。最好别使用关键字命名。

name是关键字
但并不是说绝对不可以用关键字作为列名
像python里你还可以把str当做变量名,只不过后续再调用str()函数的时候就会报错
为了避免和系统关键字重名,按照命名规范,所有的表前面应该加t_作为前缀,视图加v_作为前缀,列名加f_作为前缀,就不会出现各种乱七八糟的问题了