- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
3 hours ago - edited 3 hours 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.
