Unknown column 'x' in 'field list'
Bir script, veritabanında olmayan bir bilgiyi arıyor — neredeyse her zaman kurulum dosyası hiç içe aktarılmadığı için.
Önce şunu yap
O script'le gelen .sql dosyasını bul ve veritabanına içe aktar.
Ne anlama gelir
Sorgu geçerli SQL ama veritabanında olmayan bir sütunu (ya da tabloyu) adlandırıyor. Şema ile kod anlaşamıyor.
Neden olur
Ne sıklıkla doğru cevap olduğuna göre sıralı.
- 1
Kaynağın SQL'i hiç içe aktarılmamış
Veri saklayan her script bir .sql dosyasıyla gelir. Onu atlamak olağan nedendir, özellikle aceleyle kurulmuş bir script'te.
- 2
Script başka bir framework'ün şemasını bekliyor
ESX
users/identifierkullanır, QBCoreplayers/citizenid. Biri için yazılmış bir script, diğerine karşı çalıştırıldığında var olmayan sütunlar ister. - 3
Framework sürüm farkı
ESX Legacy birkaç sütunu taşıdı; QBCore bazılarını sürümler arasında yeniden adlandırdı. Sütun, script'in yazıldığı sürümde var, seninkinde yok.
- 4
Bir yazım hatası, ya da yanlış büyük-küçük harf
Linux'ta MySQL'de sütun adları yapılandırmaya göre büyük-küçük harfe duyarlıdır.
- 5
`Table doesn't exist`
Bir üst düzeyde aynı sorun: .sql hiç içe aktarılmamış, ya da bağlantı metnindeki veritabanından başkasına aktarılmış.
Hangisinin seninki olduğu nasıl anlaşılır
SHOW COLUMNS FROM users;
Sorgunun istediğiyle karşılaştır. Tablonun kendisi eksikse, gerçekte hangi veritabanına bağlı olduğunu kontrol et:
SELECT DATABASE();
Nereye bakmalı
Kaynakla gelen .sql dosyası, ve framework'ün kendi şeması.
Nasıl düzeltilir
Kaynağın SQL'ini içe aktar, sonra doğrula:
mysql -u user -p veritabanin < resource/install.sql
Gerisine dokunmadan eksik bir sütun ekle:
ALTER TABLE users ADD COLUMN phone VARCHAR(20) NULL;
Hâlâ kendi kodunda mı takıldın?
Bu sayfa, bu hatanın genelde ne anlama geldiğini anlatır. Konsolunu Server Fixer'a yapıştır; içindeki her şeyi sıraya dizer ve önce ne yapman gerektiğini söyler. Kendin uğraşmak istemiyorsan ORBIE script'i onarır ve kaynağı sunucuna atmaya hazır geri verir.
bug_reportServer Fixer'ı açBu tür bir hata için Script Optimizer buna yol açan sorgu kalıplarını yakalar.