Un poco de información para aquellos interesados en algunos de los problemas arcanos con los que he estado lidiando en SQL Fiddle:
Esencialmente, estoy tratando de asegurar que los violines permanezcan siempre en un estado constante, incluso cuando la gente juega con ellos. Una cosa que me preocupa es que las personas interfieran intencionalmente con las bases de datos, rompiéndolas para otras personas que podrían estar trabajando con ellas (esto ha sucedido antes, pero afortunadamente no con frecuencia).
He encontrado métodos para mantener las cosas limpias para cada una de las plataformas de bases de datos, pero curiosamente cada método es completamente diferente para cada plataforma. Desafortunadamente, para MySQL tuve que recurrir a la peor opción:solo permitir SELECCIONES en el lado derecho. Esto se debe a que hay demasiadas formas de escribir consultas que incluyen compromisos implícitos, y no he encontrado ninguna forma de evitar que eso suceda sin una negación absoluta en el lado de la consulta. Esto es bastante desafortunado, me doy cuenta, pero parece ser necesario.
De todos modos, este error en particular fue el resultado de un cambio que hice recientemente en la lógica de MySQL. Se solucionó ahora y ahora informa el mensaje de error esperado: