如下圖,錯誤一大堆,一臉懵逼,找了半天
首先sql運行在SQLyog端查詢沒有任何問題,但在項目中mybatisPlus報錯了。
主要還是mybatisPlus沒有SQLyog那么智能,錯誤sql:
SELECT or.entity_id,or.orders_no, u.realname apply_realname, ord.total_count, ord.receive_count,or.apply_time,or.notice_time, or.finish_time,or.status, s.name stockroomName, (SELECT GROUP_CONCAT(depart_name) FROM sys_depart d, sys_user_depart ud WHERE u.entity_id=ud.user_id
AND ud.dep_id=d.entity_id) depart_name, (SELECT u.realname FROM sys_depart sd,sys_user_depart sud WHERE sud.user_id=u.entity_id AND sd.entity_id=sud.dep_id AND sd.valid_flag = '1' AND sud.valid_flag = '1'
AND u.depart_ids LIKE CONCAT('%',sd.entity_id,'%')) depart_admin_name FROM tm_orders_receipt `or`, sys_user u, tm_orders_receipt_detail ord, tm_stockroom s WHERE or.receipt_uid=u.entity_id AND ord.orders_id=or.entity_id AND s.entity_id = or.stockroom_id AND u.valid_flag='1'
我們在給表重命名上,我一般取首字母縮寫,但如果縮寫是關鍵字,如“or”,此時我們就需要加特殊符號處理`or`。
如果在SQLyog上面,查詢此表字段,可以直接or.xxx,但是實際項目中需要加上特殊字符處理`or`.xxx。否則就會出現以上報錯。