MySQL中字段名和保留字冲突的解决办法

MySQL中字段名和保留字冲突的解决办法,第1张

我们知道通常的SQL查询语句是这么写的:

复制代码

代码如下: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

其它的举一反三即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11670358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存