Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O que há de errado com minha consulta SQL Fiddle?


Um pouco de background para aqueles interessados ​​em alguns dos problemas misteriosos com os quais tenho lidado no SQL Fiddle:

Desabilite commits explícitos no JDBC, detecte-os no SQL ou coloque o banco de dados em um estado readonly (dba.se)

Essencialmente, estou tentando garantir que os violinos sempre permaneçam em um estado consistente, mesmo quando as pessoas brincam com eles. Uma coisa que me preocupa é as pessoas mexerem intencionalmente com os bancos de dados, quebrando-os para outras pessoas que possam estar trabalhando com eles (isso já aconteceu antes, mas não com frequência, felizmente).

Eu encontrei métodos para manter as coisas limpas para cada uma das plataformas de banco de dados, mas curiosamente cada método é completamente diferente para cada plataforma. Infelizmente, para o MySQL eu tive que recorrer à pior opção - permitindo apenas SELECTs no lado direito. Isso ocorre porque há muitas maneiras de escrever consultas que incluem confirmações implícitas, e não há nenhuma maneira que eu encontrei para evitar que isso aconteça, exceto a negação total no lado da consulta. Isso é muito lamentável, eu percebo, mas parece ser necessário.

De qualquer forma, esse bug em particular foi resultado de uma mudança que fiz recentemente na lógica do MySQL. Ele foi corrigido agora e agora relata a mensagem de erro esperada: