【 使用环境 】 测试环境
OceanBase 4.2.5.3
OceanBase 4.2.1.7
【问题描述】清晰明确描述问题
为什么skip这个单词在数据库版本是4.2.5.3不能直接使用,需要用 `` 包起来,数据库版本是4.2.1.7是正常的
【附件及日志】
您在obclient的 测试下。 效果一样不 ??
mysql出现这种情况就是,关键字导致 ,或者更高级别的同义词或者其他对象和他同名导致的。
oceanbase搜索skip不是关键字, 您有创建过 skip 同名对象不 ?
没有的
show create table table_name \G --看下这个表的表结构
CREATE TABLE test_table
(
id
bigint(20) NOT NULL AUTO_INCREMENT,
skip
varchar(255) NOT NULL DEFAULT ‘’,
created_at
timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) AUTO_INCREMENT = 3 AUTO_INCREMENT_MODE = ‘ORDER’ DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = ‘zstd_1.3.8’ REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
跟客户端有关系
与ob的版本有关?
创建表的时候,是不是这个字段加了单引号了
是的
建表时,表名或字段名使用单引号后,数据库不会自动处理,会按单引号内容强制匹配大小写,包括使用。如果不想这样,在建表时表名或字段名不要加单引号,这样数据库在使用时,会自动转大些使用。
skip应该是被算作关键词了,创建时候要使用 ` 号。