Row Number stuck as Key even after setting up my own Customer UID key

I’m facing an issue where my table is still using Row Number as the key, even after I’ve created a Customer UIDcolumn with unique values (e.g. RL-W-0000001, RL-W-0000002, etc.).

Here’s my setup:

  • Table name: Contact Today

  • Sheet name: same (linked to Google Sheets)

  • Column “Customer UID” exists and has no duplicates or blanks

  • I turned Key = ON for Customer UID

  • I turned Key = OFF for Row Number

  • When I click “Save,” I get the error:

    “The spreadsheet row number is being used as a key in the table ‘Contact Today’. It’s best to include an ‘ID’ column in the table.”

Even after saving and refreshing, AppSheet still treats Row Number as the key.

I even tried:

  • Regenerating structure

  • Turning off Row Number as key

  • Changing key columns and saving multiple times

But the Row Number key is not updating.

Goal:
I want Customer UID (auto-generated unique ID like RL-W-0000001) to be the key, and to completely remove dependency on Row Number.

Could someone please guide me on how to fix this cleanly without losing existing app settings?

Thanks!

This typically happens when there is some configuration problem or inconsistency in the column you are trying to set as the Key column.

Is your “Customer UID” column an actual table column - not a virtual column?

Have you configured the column with the type as TEXT, Editable and Required?

Does the configuration match with the datasource?

I hope this helps!

1 Like

Make sure the desired key column does not have a spreadsheet formula (either in the column configuration in AppSheet, or in the worksheet itself), and that all cells of the worksheet column are truly and completely empty (highlight them and press Delete) for all rows that do not contain data. If you’re using Google Sheets, delete–don’t just clear–all unused rows entirely (they’ll be added back automatically as needed).

1 Like

I came across this over the weekend. My unique ID column had changed from TEXT to something else.

I changed it back to text, and it worked… double-check this.