在一张数据表里面比如字段顺序是 'FieldA,FieldB,FieldC.....'
其中FieldA是主键。它在表中是第一个 字段。
现在的问题是 通过修改系统表
把它的顺序改成 'FieldC,FieldB,FieldA.....'后,
它的主键却变成了 FieldC ,这很显然是错误的。
我不知道为什么会变成这样?不知道该怎么避免这样的错误。而且如果在该表上建立了 全文索引 之后,即便是在企业管理器中
修改主键字段在字段列表中的位置,保存时系统也会给出错误提示,
这又是怎么回事?
其中FieldA是主键。它在表中是第一个 字段。
现在的问题是 通过修改系统表
把它的顺序改成 'FieldC,FieldB,FieldA.....'后,
它的主键却变成了 FieldC ,这很显然是错误的。
我不知道为什么会变成这样?不知道该怎么避免这样的错误。而且如果在该表上建立了 全文索引 之后,即便是在企业管理器中
修改主键字段在字段列表中的位置,保存时系统也会给出错误提示,
这又是怎么回事?
......
我总不能叫用户去表设计器里面拖动字段吧?
是在其他小软件里面调用存储过程来修改字段物理顺序。在syscolumns 表中的 colid 字段的值。
在改完 之后 可以保证 colid 是从1开始而且连续有值。
我刚刚建了个表试过,用存储过程修改字段的 colorder 后,
select * from table ... 之后 字段的顺序还是没有什么变化。
(事实是 colorder 确实是改变了)