ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘order’ at line 1

在进行SSH开发的时候,例如下面这种表,在hibernate编译的时候不报错,但是在运行的时候会报错,在命令行下查询desc order也是报错,百思不得其解,后来一步步测试…

出现这种情况,我已经排除了标点符号,字段的问题,最后发现的是表名的问题,“order是mysql的关键字,不能用order作为表名 ”

CREATE TABLE `order`(
  `order_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单表ID(主键)',
  `material_id` int(11) DEFAULT NULL COMMENT '物料表ID',
  `order_type` varchar(16) DEFAULT NULL COMMENT '订单类型',
  `order_code` varchar(16) DEFAULT NULL COMMENT '订单编号',
  `order_other_code` varchar(16) DEFAULT NULL COMMENT '对方订单号',
  `order_version` varchar(16) DEFAULT NULL COMMENT '版本号',
  `order_date` date DEFAULT NULL COMMENT '订单日期',
  `order_supplier` varchar(16) DEFAULT NULL COMMENT '供应商',
  `order_kaisupplier` varchar(16) DEFAULT NULL COMMENT '开票供应商',
  `order_agreement` varchar(16) DEFAULT NULL COMMENT '付款协议',
  `order_buyer` varchar(16) DEFAULT NULL COMMENT '采购员',
  `order_department` varchar(16) DEFAULT NULL COMMENT '采购部门',
  `order_freeze_reason` varchar(16) DEFAULT NULL COMMENT '冻结原因',
  `order_total_amount` int(11) DEFAULT NULL COMMENT '总数量',
  `order_total_momey` int(11) DEFAULT NULL COMMENT '价税合计',
  `order_status` varchar(16) DEFAULT NULL COMMENT '单据状态',
  `order_memo` varchar(16) DEFAULT NULL COMMENT '备注',
  `order_bank` varchar(32) DEFAULT NULL COMMENT '银行账户',
  PRIMARY KEY (`order_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

还有就是leave也是关键字,找到问题所在,就容易解决了!
果断把order的表名改成其他,例如or_order
这样子就映射完成!问题已解决

发布了3 篇原创文章 · 获赞 2 · 访问量 126
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览