复制代码
代码如下:select
col
from
table
这当然没问题,但如果字段名是“from”呢?
复制代码
代码如下:select
from
from
table
若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符“`”将字段名括起来:
复制代码
代码如下:select
`from`
from
table
总结
刚发现我原先设计的数据库表里有两个字段都用了保留字(add,comment)。在insert和update的时候出错。记得sql
server里好像是用[]括起来就ok了。于是试了一下,事实证明这在mySql里行不通。上网简单搜了一下发现都是说用中括号。后来又想到MySql
Administrator生成的sql语句好像会把表名什么都用单引号括起来。试了一下,还是行不通。但复制生成的那个符号发现可以。确定那个符号不是单引号。一看才发现时撇号(`
就是数字1前面那个键上的)。到此问题解决。总结一下就是一句话:
在Mysql中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里可以用撇号(`)括起来。
mysql建表时多个字段用到timestamp时报错怎么办原因是当你给一个timestamp设置为on
updatecurrent_timestamp的时候,其他的timestamp字段需要显式设定default值
不知道上面的说的是否有道理,也是参考别人的。
我觉得原因是因为系统默认default值冲突了。
每行加上deafult
null
就行了。
mysql 添加字段不会影响查询。假设表名为tab1,只有字段为a,b,想在查询结果中新增字段c(固定值为100),可以这样写:
SELECT T.*,100 as c FROM tab1 T
若100为字符串则是:
SELECT T.a,T.b,'100' as c FROM tab1 T
其它的举一反三即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)