Appsheet keeps automatically creating Related Tables

Heres some context.

I created a new table that was going to become a menu inside the app so a lot of column names had other table names. On import it created the reverse references. I changed the technique and deleted the matching column names and it still repeats the reverse references on every save.

What is causing appsheet to be "Helpful" and create the reverse references by itself?

GIF to see whats happening.

Related Tables.gif

1 3 54
3 REPLIES 3

Does anyone know what appsheet generates?

I have found it is creating system generated actions but they cannot be deleted.

Yes there are columns, actions and views that AppSheet will automatically generate and cannot effectively be removed.

When you define a data column as REF type, there will be a "Related xyz" column created in the referenced table.  If you don't need those "Related xyz" columns, you can redefine your data column as Enum and then set the Base Type as REF.  The column will still behave as a Ref column BUT the "Related xyz" columns will not be automatically generated.

When you insert a Table into the app, there will be ADD, EDIT and DELETE actions automatically included in the actions list.  For REF columns, there will also be a "View Ref" action automatically created.  This action will show a button on DEtail views allowing users to navigate to the row being referenced.  Handy in some use cases.

Also when you add a Table, there are Form and Detail views automatically created.  Ref columns will create an Inline view under the referenced table.

I recommend leaving the auto-generated items alone.  You can delete them but they will get re-generated at some point in the future.  There is no harm or performance impact to having them in the app with one EXCEPTION.  "Related xyz" columns can add to Sync times.  If they are not being used, then switch the column that generated them to an Enum/Ref type column.

Please ask if you have other specific questions.

I hope this helps!

In AppSheet, the behavior you're describing โ€” where reverse references (virtual columns) are automatically created โ€” happens because of the way AppSheet interprets relationships between tables. When you create a column with the same name as another table (or its primary key), AppSheet assumes thereโ€™s a relationship and creates reverse references to facilitate navigation and data linking.

 

Whatโ€™s Causing the Issue?

 

Matching Column Names: If a column in your table matches the primary key or key column of another table, AppSheet tries to establish a relationship between them.

 

Residual Metadata: Even if you delete the problematic columns, AppSheet may have cached or retained metadata about the relationships, causing the reverse references to persist.

 

AppSheet's Auto-Linking: AppSheet is designed to be "helpful" by creating these relationships automatically to simplify app design, but it can lead to unintended results when tables aren't meant to relate.

 

How to Resolve It

 

Hereโ€™s how you can stop AppSheet from creating reverse references automatically:

 

1. Ensure Unique Column Names

 

Avoid using column names in your table that match the primary key or key column of other tables.

 

Rename columns if necessary (e.g., append a suffix or prefix to differentiate them).

 

2. Manually Remove Reverse References

 

Open the affected tableโ€™s structure in AppSheet.

 

Locate and delete any virtual columns (e.g., ones named [Related <TableName>]) that were automatically added as reverse references.

 

3. Clear Metadata

 

Delete and re-add the table to your app to reset AppSheet's metadata about it.

 

Alternatively, clear any lingering settings for the deleted columns in the "Advanced Editor" under the table's schema.

 

4. Turn Off Auto-Linking

 

Unfortunately, AppSheet doesnโ€™t allow you to disable this feature entirely, but by ensuring no column names match, you can prevent it from triggering.

 

5. Rebuild Relationships Manually

 

If you want specific relationships, set them up manually instead of relying on AppSheetโ€™s automatic behavior.

 

Next Steps

 

Try these steps and let me know if the issue persists.