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

ГРЕШКА В MySQL 1046 (3D000):Няма избрана база данни при заявка за актуализиране

Имате полета, наречени неправилно, но дори и да ги коригирате, това е грешка в MySQL това няма да ви позволи да го направите, ако нямате база данни по подразбиране.

update  test.object1 p
join    (
        select  ur.id_object1, sum(ur.score * ur.weight) as total, count(*) as weight
        from    (
                select  lur.*
                from    (
                        select s.id_object1, s.id_object2, s.dt, s.score, 1 as weight
                        from   test.score as s
                        join   test.object1 as o1
                        using  (id_object1)
                        where  s.dt > o1.dt
                        order by
                               s.id_object1, s.id_object2, s.dt desc
                        ) as lur
                group by
                        lur.id_object1, lur.id_object1, date(lur.dt)
                order by
                        lur.id_object1, lur.id_object1
                ) as ur
        group by ur.id_object1
        ) as r
USING   (id_object1)
SET     p.total = p.total + r.total,
        p.weight = p.weight + r.weight,
        p.dt = now();

Проблемът е специфичен за UPDATE с двойно вложени заявки и без база данни по подразбиране (SELECT или едновложените заявки или базата данни по подразбиране работят добре)



  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

  2. Какво е значението на съхранените процедури са предварително компилирани?

  3. mysql съхранение на дата и производителност на заявки с php

  4. Отстраняване на неизправности при репликацията на MySQL:Част първа

  5. Unicode Encode Error „latin-1“ Кодекът не може да кодира символ „\u2019“