Mysql
 sql >> база данни >  >> RDS >> Mysql

Какво не е наред с моята SQL Fiddle заявка?

Малко предистория за тези, които се интересуват от някои от загадъчните проблеми, с които се занимавах на SQL Fiddle:

Деактивирайте явните ангажименти в JDBC, откривайте ги в SQL или поставете базата данни в състояние само за четене (dba.se)

По същество се опитвам да гарантирам, че цигулките винаги остават в последователно състояние, дори когато хората играят с тях. Едно нещо, за което се притеснявам, е хората, които умишлено бъркат в базите данни, разбивайки ги за другите хора, които може да работят с тях (това се е случвало и преди, но не често за щастие).

Намерих методи за поддържане на нещата чисти за всяка от платформите на базата данни, но интересното е, че всеки метод е напълно различен за всяка платформа. За съжаление, за MySQL трябваше да прибягна до най-лошия вариант - разрешаване само на SELECTs от дясната страна. Това е така, защото има твърде много начини за писане на заявки, които включват неявни ангажименти и няма начин, който открих, за да предотвратя това да се случи, освен категоричен отказ от страна на заявката. Това е доста жалко, осъзнавам, но изглежда е задължително.

Както и да е, тази конкретна грешка е резултат от промяна, която наскоро направих в логиката на MySQL. Сега е коригирано и сега отчита очакваното съобщение за грешка:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка в MySQL 2013

  2. MySQL получава произволна стойност между две стойности

  3. транспониране на колони в редове

  4. Форматирайте низ с множество параметри, така че MySQL да може да ги обработва

  5. Извличане на повече от 3 данни от mysql в квадратчето за отметка