PRB: Uniqueness of Index Violated When Creating Primary Index (142283)
The information in this article applies to:
- Microsoft Visual FoxPro for Windows 3.0
- Microsoft Visual FoxPro for Windows 3.0b
This article was previously published under Q142283 SYMPTOMS
After you create a Primary Index for a table that is populated with records
and choose to make the structure changes permanent, the following error
message appears:
Uniqueness of index <name> is violated.
CAUSE
More than one record, including any deleted records, contain the same value
within the field being used for the Primary Index. This also applies to the
existence of more than one blank record, whether marked for deletion or
not.
RESOLUTION
Eliminate any use of the same value within multiple records. There are many
methods you could use, but perhaps the easiest is to use a query. The
following example query will generate a cursor that contains a list of the
values that occur in more than one record of a table:
SELECT <field name> FROM <table name>;
GROUP BY <field name>;
HAVING COUNT(<field name>) > 1
If duplicate records have been marked for deletion and you prefer that the
table not be packed to eliminate them, the Primary Index must contain the
following filter to ignore the deleted records:
!DELETED()
For more information about reusing deleted primary key values, please see
the following article in the Microsoft Knowledge Base:
139756 Cannot Reuse Deleted Primary Key Values in Visual FoxPro
STATUS
This behavior is by design.
Modification Type: | Major | Last Reviewed: | 9/30/2003 |
---|
Keywords: | kbprb KB142283 |
---|
|