Birincil anahtar olmadan ORM Declarative sınıfını kullanarak bir tablo nasıl oluşturulur? primary_key = True
sütun oluşturmazsa başlatılamadı.SQLAlchemy bildiriminde: birincil anahtarsız tablo var mı?
cevap
SQLAlchemy çekirdek birincil anahtar eksik hakkında şikayet etmiyor, bu nedenle Table(…)
böyle bir tablo oluşturmak mümkündür. Ancak, ORM, tasarıma karşılık gelen satırı tanımlamanın bir yolunu gerektirir, bu nedenle ORM'de birincil anahtar olmadan tablo kullanmak mümkün değildir.
Neden daha sonra bu dizini eklemem gerekir mi? Gerçek bir gereksinim mi yoksa muhtemelen başka bir şekilde çözülebilecek bir soruna çözüm bulmak mı? Kompozit birincil anahtara ihtiyacınız durumda, bu Column
birkaç s veya __table_args__
yılında PrimaryKeyConstraint(…)
belirterek primary_key=True
argüman ya onu tanımlamak mümkündür.
Çok sütunlu bir dizin oluşturmayı planlıyorum. Ve eğer index'in BTREE (mySQL benim veritabanım) kullanılarak yapılması gerektiğini açıkça ilan edersem harika olurdu. Herhangi bir çözüm? – Determinant
Çoğu veritabanında (MySQL dahil) varsayılan olarak B-Tree kullanılır, bu yüzden bileşik indeksine katılan tüm 'Column'larda' primary_key = True' belirtilmelidir. Açık B-Ağacı (veya başka bir tür) belirtimi, "Dizin (…)" örneğinde desteklenir. PostgreSQL için, ancak MySQL için değil, "PrimaryKeyConstraint" için değil. SQLAlchemy'de eksik özellik gibi görünüyor. –
ayrıca bildirime ile) (mapper için "primary_key" argüman "birincil" dir sütunların listesini koyabilirsiniz '__mapper_args__ = { "primary_key" :(col1, col2)}} yanlış' – zzzeek
- 1. Doktrin - Ana anahtarsız tablo
- 2. SQLAlchemy Birincil anahtar olan alt tablo olmadan bire çok
- 3. Bir kullanıcıların tablo var birincil anahtar
- 4. SQLAlchemy
- 5. sqlalchemy
- 6. SQLAlchemy klonlama tablo satırı ilişkileri
- 7. SQLAlchemy için Django'nun inspectdb eşdeğeri var mı?
- 8. SQLAlchemy nesnesinin birincil anahtarının adını nasıl alabilirim?
- 9. SQLAlchemy Birleştirme Öncesinde Otomatik Birleştirme ile Birincil Anahtar Edinme
- 10. Tablo/görünümde birincil anahtar tanımlanmış
- 11. SQLAlchemy
- 12. python anahtarsız json ayrıştırma
- 13. RedBean'ın bir "id" birincil anahtarına ihtiyacı var mı?
- 14. SQLAlchemy:
- 15. Karma tablo: neden boyut birincil olmalı?
- 16. SQLAlchemy eşlemeli nesneden tablo özelliklerini nasıl bulurum?
- 17. Raylar Geçişi Tablo Oluştur Birincil Anahtar
- 18. SQLAlchemy: tablo alanına göre özel özelliği sorgula
- 19. Bir tablo nasıl sorgulanır, sqlalchemy içinde
- 20. SQLAlchemy
- 21. Birincil anahtarın (id) bağlantı noktasına (Python, SQLAlchemy) alınması
- 22. SQL Server - Tablo bazında izin var mı?
- 23. rMarkdown'da sıralanabilir (Etkileşimli) tablo var mı?
- 24. SQLAlchemy Çoklu Tablo ve Yabancı Anahtarlar Katıl
- 25. Birincil DynamoDB tablosundan java ile birincil anahtarı belirtmeden nasıl alabilirim?
- 26. SqlAlchemy
- 27. sqlite birincil anahtar tablo hata oluştur
- 28. SQLAlchemy
- 29. SQLObject'i SQLAlchemy üzerinden kullanmamak için herhangi bir sebep var mı?
- 30. SQLAlchemy Bağlantısını test etmenin bir yolu var mı?
Yani neden böyle bir şey yapmak isteyeyim, sorabilir miyim? –
@JonathanOng Daha sonra bazı dizinler eklemek istiyorum çünkü mysql bunun gibi bir şey yapabilir. – Determinant