对于如下表:
create table foo (id int identity primary key)
我想查询系统表以确定它id
实际上是一IDENTITY
列。
我发现的最接近的是:
select tc.max_identity from systabcol tc
join systab t on t.table_id = tc.table_id
where t.table_name = 'foo'
不幸max_identity
的是,0
即使对于不是身份的列,也0
适用于尚未使用的身份。如果是NULL
为了非身份,那就太好了。
我可以使用该GET_IDENTITY
函数来检查一个表是否有一个IDENTITY
列,但是我丢失了一个标识值,我仍然不知道它是哪一列。
非常感谢任何帮助,这是我在 0.05002 中的 DBIx::Class::Schema::Loader 中支持基本 SQL Anywhere 所需的最后一件事。