Mybatis创建表提示ORA-00922: 选项缺失或无效

新手上路,请多包涵

问题描述

当我尝试使用Mybatis创建表时出现错误。

问题出现的环境背景及自己尝试过哪些方法

我想用Mybatis创建动态表,即根据传入的参数来生成表:

<update id="createTable">
    create table ${tableName}
    (
        ID VARCHAR2(50) not null
        constraint ${tableName}_PK primary key
    )/
    comment on table ${tableName} is '${tableComment}'
    /
</update>

日志提示ORA-00922: 选项缺失或无效,最后面的斜杠去掉,错误依旧。
当去掉comment那句后,执行成功了。create语句不能放在begin-end里,看来只能执行单个语句。但是这样表就没有注释了:

<update id="createTable">
    create table ${tableName}
    (
        ID VARCHAR2(50) not null
        constraint ${tableName}_PK primary key
    )
</update>

如果我想在建表的同时添加comment,应该怎么做?

阅读 3.3k
1 个回答
  <update id="create">
 CREATE TABLE ${abc} (
          id bigint(20) NOT NULL AUTO_INCREMENT,
          PRIMARY KEY (id)) COMMENT = #{abc,jdbcType=VARCHAR}

</update>
  void create(@Param("abc") String abc);
show create table abc 
CREATE TABLE `abc` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='abc'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题