插入包含“from”和“to”字段的mysql表时出错

pes8fvy9  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(324)

当我试图在mysql中插入一个带有以下字段direction,from,to,message的表时,我得到了以下错误
sql语法有错误;请查看与您的mariadb服务器版本对应的手册,以了解使用“from,to,message”值('outgoing'、'from\u number'、'to\u number'、'asas')的正确语法
查询:

INSERT INTO corporate.sms (direction, from, to, message) VALUES ( 'outgoing','FROM_NUMBER','TO_NUMBER','test message');

有没有其他方法可以在不更改列名的情况下进行插入?

odopli94

odopli941#

from 以及 to 是sql中的保留关键字。
解决办法很简单。只需封装 from 以及 to 查询中两个重音符(``)之间的列,这是上面的键 Tab 在你的键盘上。这样,sql解析器用保留关键字区分列名并执行插入。
查询变成:

INSERT INTO corporate.sms (direction, `from`, `to`, message) VALUES ( 'outgoing','FROM_NUMBER','TO_NUMBER','test message');
fjnneemd

fjnneemd2#

由于像“from”和“to”这样的字段名是mysql的sql语法所保留的,所以您需要用`(后引号)来 Package 这些字段名。
因此,您的sql将

INSERT INTO corporate.sms (direction, `from`, `to`, message) VALUES ( 'outgoing','FROM_NUMBER','TO_NUMBER','test message');

相关问题