Our use of cookies

We use cookies to tailor your experience, gather analytics, and provide you with live assitance. By clicking "Accept" or continuing to browse our site you agree to the use of cookies. For more details please read our Cookie Policy.

How does SQList name Tables and Columns in the SQL tables

Table names

To generate the names of the tables in the SQL destination database, SQList uses the name of the SharePoint list, concatenated by prefixes and suffixes as described in this article.

Note that, unlike columns, SharePoint does not have an internal name and an external name for a list, therefore, if you change the name of a list, the related SQL table will also be recreated from scratch with the new name. This will happen automatically.

However, there can be an issue...

If the renamed list is used as a multi-lookup by another list, the tables related to this other list will also be affected because SQList uses the name of the list to generate the names of the Parent and Child columns in the many-2-many table.

For example, let us assume we have the following lists in a SharePoint site named "Portal365":

A list named "Products" with these columns:
  • ID
  • Title
And a list named "Invoices" with these columns:
  • ID
  • Title
  • ProductIDs
SQList will create the following tables in the SQL Server database:

Portal365:Products
Portal365:Invoices
Portal365:Invoices.ProductIDs

The table Portal365:Invoices.ProductIDs will have to columns:
  • ParentInvoicesID
  • ChildProductsID

If the "Products" list is renamed to "Articles", SQList will:

- drop the "Portal365:Products" table;
- create a new table named "Portal365:Products", which will be populated from scratch.
The table "Portal365:Invoices.ProductIDs" however won't be affected and will still contain the "ChildProductsID" columns.
When SQList tries to replicate an update from the "Invoices" list, it will look for the column "ChildArticlesID" in the "Portal365:Invoices.ProductIDs" table, but it won't find it that table still contains the old column name "ChildProductsID" - at this point SQList will throw a "Invalid column name 'ChildProductsID'." error.

To resolve this issue, you will have to rename the column "ChildProductsID" to "ChildArticlesID".

Alternatively, you could drop the tables "Portal365:Invoices" and "Portal365:Invoices.ProductIDs" and let SQList re-create them from scratch.

Column names

Columns names do not have the same issues as table names because SharePoint has an internal name as well as a display name for columns.

When you create a column, SharePoint will use the name you give to the column as both internal and display names. SQList will use the internal name for the column names in the SQL Server tables, therefore any changes you make to the name of the column will only change its display name, and SQList won't be affected.