If the DDS description does not contain the keyword unique, then it is not a unique key. Example of DDS Described Logical File with a Unique Primary Key: 00010A* 00020A* SAMPLE LOGICAL FILE (CUSMSTL) 00030A* 00040A UNIQUE 00050A R CUSREC PFILE(CUSMSTP) 00060A TEXT('Logical File’) 00070A CUST 00080A NAME 00090A ADDR 00100A K CUST Example of a Unique Key Created with SQL: CREATE UNIQUE INDEX indexname ON library/tablename (fieldname1, fieldname2) Is Authority Required to Both the Physical File and the Logicals over It? When querying data files, the authorization to a file is only verified if the file is being directly used. You have a physical file that has authority of public *use.You have a logical over that physical that has public *EXCLUDE.A user with public authority can successfully run a query defined on the physical file because it requires authority to the physical file only, even though an index created by the logical might be used to implement the query.

insufficient key column for updating or refreshing-30

"Key column information is insufficient or incorrect.

Too many rows were affected by update." I am trying to update some fields in my database tables and its giving this error. Update My table which i am updating is a weak entity without a primary key.

When i say debug its highlighting the update statement.

This document explains the requirements of some ODBC applications when updating IBM® OS/400® or IBM® i5/OS® database tables and files.

Some ODBC applications will report that a file is read-only even though the user has the proper authorities to the table.

These applications require additional restrictions on the table design; typically, a restriction is that the table have a unique key.

Application Requirements: Note that the cause of these problems is clearly indicated by the error message returned; however, some applications can suppress the i Series® Access error message. Typically, this is seen when the file does not have a unique key and the application is attempting to use a keyset or static cursor.

Turning on the diagnostic trace in the ODBC data source (the one labeled Enable trace on the Diagnostic tab) will produce a log that lists the errors that might have been suppressed by the application. The application might also be attempting to use optimistic locking.

In these situations, the application is actually deleting and updating records by running an UPDATE or DELETE SQL statement that has "WHERE SQL-defined tables built with a PRIMARY KEY or UNIQUE constraint.