- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
3 weeks ago - edited 3 weeks ago
Recently, I faced an issue where newly created dictionary fields were saving with the Label field empty.
Root Cause: MySQL Static Row Size Limitation
ServiceNow tables that use a Table‑Per‑Hierarchy structure accumulate the size of all columns across the hierarchy. When the combined size of all varchar fields becomes too large, the underlying MySQL storage engine reaches its static row size limit.
When this limit is exceeded, dictionary operations such as creating fields or modifying existing ones silently fail at the database layer. As a result, metadata may save partially, leading to symptoms like “Label disappearing”.
This is not a ServiceNow defect, but a known MySQL limitation.
How to Fix It
To reduce the static row size and allow new fields to be created, there are two recommended approaches:
1. Remove Unused Columns
If the table contains old or unnecessary fields, removing them immediately reduces the row size.
2. Convert Large Varchar Fields to TEXT
Increasing a varchar length to 256 or higher makes ServiceNow automatically convert the column to a TEXT type.
Reviewing column sizes and converting large varchar fields to TEXT can restore normal dictionary behavior.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Just to be sure I understand, I'm trying to relate your terms to the types that I see in the dictionary.
Is a varchar the same thing as a type = string?
So the advice on option #2 would be to find string columns that are less than 256 characters and increase them to more than that?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi @HugoFirst ,
Exaclty, field with string type.
Yes, the recommendation is to increase it for 256 or more.
Regards,
Sarah Bioni
