开发者社区 问答 正文

OceanBase数据库全文索引有预留,是哪里语句不对?

"OceanBase数据库全文索引有预留,建表创建全文索引:CREATE TABLE xxxxx (business_number varchar(32) DEFAULT '', FULLTEXT (business_number) );报错:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near 'FULLTEXT (business_number) )' at line 1是哪里语句不对?
83ebfb6dbcff5c76d4a37a7704b059a2.jpg"

展开
收起
小易01 2023-09-27 00:23:48 311 分享 版权
来自: OceanBase
3 条回答
写回答
取消 提交回答
  • 你好,你这个解决了吗?我也出现这种问题了,按照他们说的还是老原因,我这边是oracle模式创建全文索引

    2023-12-12 18:00:29
    赞同 展开评论
  • 在OceanBase数据库中,全文索引的语法应该是:

    CREATE TABLE xxxxx (business_number varchar(32) DEFAULT '', FULLTEXT KEY (business_number));
    

    而不是:

    CREATE TABLE xxxxx (business_number varchar(32) DEFAULT '', FULLTEXT (business_number) );
    

    在OceanBase数据库中,全文索引需要使用FULLTEXT KEY关键字,而不是FULLTEXT。这是您在SQL语句中犯的错误。

    所以,您应该将您的SQL语句改为:

    CREATE TABLE xxxxx (business_number varchar(32) DEFAULT '', FULLTEXT KEY (business_number));
    

    这样,就应该可以创建全文索引了。

    2023-09-27 11:11:03
    赞同 展开评论
  • 北京阿里云ACE会长

    在 OceanBase 中,创建全文索引的语法应该是:

    CREATE TABLE xxxxx (business_number varchar(32) DEFAULT '', FULLTEXT INDEX (business_number) );
    CopyCopy

    这里,我们使用FULLTEXT INDEX来创建全文索引,而不是FULLTEXT。请尝试使用这个语法

    2023-09-27 07:55:33
    赞同 展开评论