如何在foxpro中自动增加一个字段

时间:2012-02-06 15:16:18

标签: null auto-increment foxpro visual-foxpro

我正在使用vfp9,但程序可能是用早期语言编写的。 当我通过vfp打开数据库时,该字段是只读的,与其他字段不同。 手动执行(选择max + 1)对插入不起作用,它只使字段= 0。

我无法在网上找到正确语法的示例,有人可以帮忙吗?

编辑: 好的,解决方案是将该字段留空。该字段位于一个表中,该表最终附加到较大的表(具有自动编号字段的表)中。在附加之前,该字段用于多次搜索。

我不想通过简单地在追加之前将字段设置为null来修改代码。 replace field with null但是会​​出错。 将表字段设置为null的正确语法是什么?

再次编辑:删除列工作。显然你不能将数字字段设置为null。

2 个答案:

答案 0 :(得分:1)

如果您的表结构如下:

Structure for table:    D:\SO9162291.DBF
Number of data records: 2       
Date of last update:    02/06/12
Code Page:              1252    
Field  Field Name      Type                Width    Dec   Index   Collate Nulls
    1  COUNT           Integer                 4                            Yes
    2  CONTENTS        Character              24                             No
** Total **                                   30

count字段设置为允许空值,因此您可以使用以下任何方法将integer类型的字段设置为空值。

USE so9162291
INSERT INTO so9162291 (count, contents) VALUES (null, "Test record")
UPDATE so9162291 set count = null WHERE contents = "Test record"
REPLACE count WITH null

答案 1 :(得分:0)

我会执行以下SQL查询:

SELECT MAX(id)+1 AS laCount FROM so9162291 INTO CURSOR temp

INSERT INTO so9162291 (count, contents) VALUES(temp.laCount,"Test record")