Recognises a CHECK constraint parsed and ignored
MySQL before 8.0.16 parses CHECK and ignores it, which is worse than rejecting it. --mysql-version 5.7 makes the generator emit them commented out with a header note; without the flag they are emitted live and read as enforced.
Can AI do this?
People still lead Few or none of the tested AI models showed they master this. 0 of 10 models master it.
| Model | Tier | Probability of mastery | Status |
|---|---|---|---|
| gemini-4-argon | Flagship | 41% | Not shown |
| gemini-3.1-pro-preview | Flagship | 40% | Not shown |
| gpt-6-astra | Flagship | 40% | Not shown |
| claude-fable-5-1 | Flagship | 38% | Not shown |
| gemini-3.8-flash | Mid tier | 38% | Not shown |
| gpt-6.1-sol | Mid tier | 40% | Not shown |
| claude-sonnet-5-5 | Mid tier | 40% | Not shown |
| gemini-3.5-flash-lite | Low cost | 37% | Not shown |
| gpt-6-luna | Low cost | 40% | Not shown |
| claude-haiku-5-5 | Low cost | 40% | Not shown |
Mastered means a probability of at least 90% that the model has this knobit, estimated from its graded answers. “Not shown” means the answers do not settle it either way. How the models are tested.
What it looks like in practice
Expected result: The checks to cover by data quality rules
How it is assessed: Flags the deficient case and passes the acceptable one. Deficient: MySQL 5.7 target generated without --mysql-version; ck_fact_payment_status_code listing PND, SET, RTN deploys cleanly, enforces nothing, and a changed feed loads SETT for a month before a report notices Acceptable: --mysql-version 5.7, the checks commented out so no reader believes otherwise, and a validity DQ rule for payment_status_code for as long as that target is in scope
Also known as: CHECK parsed and silently ignored (generated DDL)
Related knobits
Builds on
- K-852 Explains SQL dialect differences
- K-356 Explains rule enforcement mechanisms and platform enforcement
All 33 knobits of Generate and review DDL.
Source: Review checklist 08-ddl, row 8; this skill (08-ddl.md); ISO 9075