That doesn't look like your original question at all. It will work though, assuming that's what you need to do.
PHP is a string based language. Strings are a primitive datatype as the union includes the char* within the zval.
As for large systems, no I guess not. I'm in a medium scale business with about 40TB of database usage and a little over 1300 servers many of which act together of course. I've only issued one table alteration in the past five years, and that was on a third party vendor software which chose a datatype too small to represent a number of bytes. The development team likely runs a lot of DDS statements within their code at runtime, but not a single one of those would make it into the production systems.
header('HTTP/1.1 420 Enhance Your Calm');