SQLite tanımlayıcılarını tırnaklama
Bir SQLite tanımlayıcısını çift tırnakla çevreleyip iç çift tırnakları iki kez yazın.
def quote_identifier(name):
if not isinstance(name, str) or not name or chr(0) in name:
raise ValueError("identifier.invalid")
return '"' + name.replace('"', '""') + '"'- Modeller
- Temel URL ve gerekiyorsa API anahtarıyla OpenAI uyumlu veya Anthropic endpoint yapılandırın. Bağlantıyı test edin. Yerel model sunucusu çalışıyor olmalıdır; uzak araçlar ayrıca veri aktarabilir.
- Proje
- Boşlukları ve SQL benzeri metni sınayın; noktalı adı bölmeden boş adları ve NUL karakterlerini reddedin.
- Uygulamadan önce inceleyin
- Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
def quote_identifier(name):
if not isinstance(name, str) or not name or chr(0) in name:
raise ValueError("identifier.invalid")
return '"' + name.replace('"', '""') + '"'Sorgunun yapısını taşıdığı değerlerden ayırın
Dinamik sorgu kodunda aranacak değer ile veritabanı nesnesinin adı açıkça ayrılmalıdır. QuoteMica, proje dosyalarınızda bu ayrımı incelemek için bir Windows yapay zekâ kodlama çalışma alanı sunar. Sorguyu üreten işlevle başlayıp hangi parçaların değişebileceğini açıklayın. Düzenleme önermeden önce asistandan her adın ve değerin kaynağını izlemesini isteyin.
SQLite tanımlayıcı tırnaklama örneği inceleyebileceğiniz bir durumdur. Tırnaklanan adların sorgu oluşturucuya nasıl ulaştığını ve uygulamanın en başta bu adları kabul edip etmemesi gerektiğini inceleyin. Doğru gösterim ve yetkilendirme ayrı kararlardır. Yararlı bir öneri hem yardımcı işlevin sınırlı sorumluluğunu hem çağıran kodun kısıtlarını açıklar, ardından amaçlanan davranışı kontrol etmek için çalıştırabileceğiniz somut sorguları belirler.
Desteklenen OpenAI uyumlu veya Anthropic uç noktanız sunuyorsa, gerekli kimlik bilgilerini ekleyerek sansürsüz bir yapay zekâ modeli seçin. Bağlantıyı yine sağlayıcı politikaları, araç desteği ve bağlam sınırları yönetir. Önerilen sorgu değişikliklerini okuyun ve temsilî şema adlarıyla projenizin veritabanı testlerini çalıştırın. Yerel model ayrı çalışan bir sunucu kullanır; veritabanı araçlarının veya bağlı diğer hizmetlerin yerel çalıştığını göstermez.
Dinamik sorgu kodu için inceleme noktaları
Tablo adını tırnaklamak ona izin verilmesi gerektiği anlamına mı gelir?
Hayır. Tırnaklama tanımlayıcıyı sorgu sözdiziminde gösterir; hangi nesnelere erişilebileceğine uygulama yine karar vermelidir. Özellikle ad kullanıcı denetimindeki girdiden geliyorsa bu kararın çağıran kodda incelenmesini isteyin.
Sütun adlarını normal bağlı değerler gibi işleyebilir miyim?
Sorgu yapısını ve veri değerlerini ayrı inceleme konuları olarak ele alın. Veritabanı arayüzünüzün desteğini ve mevcut sorgunun nasıl oluşturulduğunu inceleyin. Tanımlayıcı örneği, bir değeri bağlamanın herhangi bir sütun adını seçebileceğinin kanıtı değildir.
Sorgu oluşturucu gerileme kontrolü ne göstermeli?
Tırnaklama gerektiren izinli bir adla gerçek sorguyu çalıştırmalı ve amaçlanan sonucu doğrulamalıdır. Uygulama adları kısıtlıyorsa reddedilen adları da ekleyin. Yalnızca üretilen dizeyi kontrol etmek yürütme veya yetkilendirme davranışını doğrulamaz.
QuoteMica her dinamik sorguyu otomatik olarak bulur mu?
Tam kapsama varsaymayın. Öneriye hangi dosyaların ve çağrı yerlerinin temel olduğunu sorun ve bildiğiniz sorgu oluşturucuları kendiniz belirtin. Model bağlamı ve mevcut araçlar incelemeyi sınırlar; geniş bir değişikliği tamamlanmış saymadan önce incelenmemiş yolları değerlendirin.
QuoteMica · Güncellendi 2026-10-25