Tableコンポーネントを使ってprimary keyのフィールドの値を編集するときは、TableコンポーネントのHasAutoIncプロパティをfalseに設定する必要があります。
新規のレコードを登録するコード
Table->open();
Table->append();
Table->fieldset('id', 999); //Primary Key
Table->fieldset('name', 'hoge');
Table->post();
Table->close();
このコードでは、Primary Keyのフィールド’id’には、設定した値が登録されません。
これは、TableコンポーネントのHasAutoIncプロパティの初期値はtrueで、Primary Keyのフィールドへの値の設定ができないためです。
HasAutoIncプロパティをfalseに設定することで、Primary Keyのフィールドに値を設定することができるようになります。
参考