Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL ERROR 1046 (3D000):Nie wybrano bazy danych w zapytaniu o aktualizację

Masz pola nazwane niepoprawnie, ale nawet jeśli je poprawisz, jest to błąd w MySQL to nie pozwoli ci tego zrobić, jeśli nie masz domyślnej bazy danych.

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();

Problem dotyczy tylko UPDATE z podwójnie zagnieżdżonymi zapytaniami i bez domyślnej bazy danych (SELECT lub zapytania z pojedynczym zagnieżdżeniem lub domyślna baza danych działają dobrze)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problemy arytmetyczne MySQL z liczbami całkowitymi bez znaku?

  2. Jak skonstruować zapytanie między bazami danych w MySQL?

  3. Uruchom zapytanie MySQL na zdalnej maszynie przez ssh w wierszu poleceń

  4. Jak uzyskać status MySQL w zapytaniu?

  5. if condition w mysql select w instrukcji