MySQL dīvainība

Pārsvarā esmu strādājis ar Oracle vai Postgres datubāzēm. MySQL principā izmantoju ļoti reti un ļoti maziem projektiem vai vienkāršām mājas lapām, līdz ar to, tikai tagad pamanīju tādu kļūdu, kas augstāk minētājām datubāzēm ir loģiska un saprotama darbība.

Ir vienkārš loģisks seleksts kurš FROM daļā satur apakšselektu

SELECT t1.* FROM (SELECT * FROM t WHERE 1 = 1) AS t1

Šajā gadījumā viss ir ok un selekts normāli izpildās, bet ja no ši selekta gribam izveidot skatu (view), tad nekā

CREATE VIEW t1_v AS
SELECT t1.* FROM (SELECT * FROM t WHERE 1 = 1) AS t1

Error Code : 1349
View's SELECT contains a subquery in the FROM clause

Protams ir apejas variants, uztaisot skatu no apakšselekta, bet nu tāpat nesaprotami, kapēc MySQL ierobežo šādu darbību, jo skats jau ir gandrīz kā vienkārš selekts.

One comment

  • Qued
    04.06 - 18:30 | Permalink

    It kā ir vienkāršs un tomēr nav. Palasi – tam ir savi iemesli.

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.