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

时间:2018-07-05 08:38:52

标签: mysql mysqli mariadb

当我尝试使用以下字段方向(从,到,消息)插入Mysql中的表时,出现以下错误

  

您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在“从,到,消息”附近使用VALUES(“传出”,“ FROM_NUMBER”,“ TO_NUMBER”,“ asas”)'

查询:

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

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

2 个答案:

答案 0 :(得分:1)

由于MySQL的SQL语法保留了字段名称(例如“ from”和“ to”), 您需要使用`(反引号)来包装这些字段名称。

因此您的SQL将是

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

答案 1 :(得分:1)

fromto是SQL中的保留关键字。

解决方案非常简单。只需将查询中的fromto列封装在两个Grave重音(``)之间,这是键盘上Tab上方的键。这样,SQL Parser可以使用保留关键字来区分列名称并执行插入。

查询变为:

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