ORA-00917: 缺失逗号

912 阅读1分钟

背景

该开源项目用的数据库是mysql,而我改成oracle的,而mybatis中的sql一边改一边调试,然后就报了下面的错误

错误截图

image.png

错误代码

<insert id="insertLogininfor" parameterType="SysLogininfor">
		insert into sys_logininfor (login_name, status, ipaddr, login_location, browser, os, msg, login_time)
		values (#{loginName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate())
</insert>

报错信息

### The error may exist in file [E:\idea_project\esoon-tech\ids_20210630\ids-system\target\classes\mapper\system\SysLogininforMapper.xml]
### The error may involve com.ruoyi.system.mapper.SysLogininforMapper.insertLogininfor-Inline
### The error occurred while setting parameters
### SQL: insert into sys_logininfor (login_name, status, ipaddr, login_location, browser, os, msg, login_time)   values (?, ?, ?, ?, ?, ?, ?, sysdate())
### Cause: java.sql.SQLSyntaxErrorException: ORA-00917: 缺失逗号

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00917: 缺失逗号

总结

原来在mysql可以这么写:sysdate(),而oracle只能写sysdate,不能有后面的括号。