Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL ERROR 1046 (3D000):Tidak ada database yang dipilih pada permintaan pembaruan

Anda memiliki bidang yang salah dinamai, tetapi meskipun Anda memperbaikinya, ini adalah bug di MySQL itu tidak akan membiarkan Anda melakukannya jika Anda tidak memiliki database default.

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

Masalahnya khusus untuk UPDATE dengan kueri bersarang ganda dan tanpa basis data default (SELECT atau kueri bersarang tunggal atau basis data default berfungsi dengan baik)



  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 REPLACE :Bagaimana mengganti semua kemunculan char di setiap substring berbeda yang dibatasi oleh kepala dan ekor yang sama

  2. mysqli_affected_rows untuk UPDATE terkadang mengembalikan 0 pada kecocokan baris penuh

  3. Cara Menambahkan Hari ke Tanggal di MySQL

  4. MySQL sekarang () ubah zona waktu

  5. Kelompokkan hanya baris yang berdekatan