Bir tabloya çeşitli kayıtlar eklemek olan bir işlem başlatıyorum. İşlem yapılmadan önce veritabanına en son eklenen kaydı seçebilir miyim?, bir ekleme işleminde başarılı bir seçim yapabilir miyim?
cevap
Evet.
Bir işlemin içinde uygulamanız her şeyi görür. Bununla birlikte, başka hiçbir işlem değişikliğin hiçbir bölümünü görmez.
Bir işlemin noktası, bir dizi ifadenin veritabanında bir atomik değişiklik olarak görünmesidir.
Yaparsanız, işlemdeki tüm ifadeler kesinleştirilir ve diğer herkes etkilerini görebilir.
Geri alma yaparsanız, işlemdeki hiçbir ifade sonlandırılmaz ve veritabanında herhangi bir değişiklik olmaz.
Tüm bildirimler BTW bir işlemin parçası olamaz. DDL (Örneğin Oluşturma ve Bırakma) önceki işlemleri sonlandıracaktır.
Evet, işlem sırasında veya sonrasında last_insert_rowid() işlevini kullanabilirsiniz.
last_insert_rowid() işlevi, işlevi çağrılan veritabanı bağlantısından eklenen son satırın ROWID değerini döndürür. Başka bir deyişle
:
SQLite version 3.6.23
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table T (C);
sqlite> insert into T values ('hello');
sqlite> select last_insert_rowid();
1
sqlite> BEGIN;
sqlite> insert into T values ('test 2');
sqlite> select last_insert_rowid();
2
sqlite> select rowid,* from T;
1|hello
2|test 2
sqlite> ROLLBACK;
sqlite> select last_insert_rowid();
2
sqlite> select rowid,* from T;
1|hello
sqlite>
- 1. Bir sorguda bir tablodan güncelleme yapabilir miyim?
- 2. PostgreSQL bir işlev tarafından döndürülen bir diziden seçim yapabilir mi?
- 3. Elasticsearch içinde bir alanla arama yapabilir miyim?
- 4. Dinamik bir olay gönderme diyaloğu yapabilir miyim?
- 5. Kullanıcıya özel bir gitignore dosyası yapabilir miyim?
- 6. "Bir kez yaz" Moose özniteliği yapabilir miyim?
- 7. Swift'de sabit bir abonelik yapabilir miyim?
- 8. Can HQL Başka bir sorgunun sonuç kümesinde seçim yapabilir misiniz?
- 9. Bir regexp_substr vererek sorgulayarak belirli bir grup yapabilir miyim?
- 10. Django: Başka bir uygulamanın alt klasöründe bir uygulama yapabilir miyim?
- 11. Nesnemin bir dize sürümünü serileştiren bir kurucu yapabilir miyim?
- 12. Jackson :: serileştirme işleminde bir nesneye fazladan alan ekleme
- 13. MVC - Görünümlerde ifs yapabilir miyim
- 14. Bu Ubuntu (linux) kurulumunu Virtualbox'ta başarılı bir şekilde çalıştırabilecek miyim?
- 15. Android Studio'da Vuforia ile bir Gear vr uygulaması yapabilir miyim?
- 16. Mod başına bir renk temasına ince ayarlar yapabilir miyim?
- 17. FlexBuilder'ı bir uzantı yazmadan komut dosyası yapabilir miyim?
- 18. Bash if deyimi: Bir ödev ve karşılaştırma yapabilir miyim?
- 19. Sadece JavaScript kullanan bir istemci/sunucu Görev Yöneticisi yapabilir miyim?
- 20. Npm yüklemesini belirli bir paket.json biçiminde yapabilir miyim?
- 21. Çalışan bir Java Swing uygulamasının videosunu anında yapabilir miyim?
- 22. Bir kurucunun başlatıcı listesinde akıl sağlığı kontrolü yapabilir miyim?
- 23. Bir dosyada yapılan değişiklikleri sürekli olarak yapabilir miyim?
- 24. Bir tastipie modelresource alanını salt okunur yapabilir miyim?
- 25. Disk etkinliğini engelleyen bir işlemi (tercihen öldürmeden) yapabilir miyim?
- 26. Türetilmiş bir sınıfta özel üye değişkeni özel yapabilir miyim?
- 27. Sınıf jenerik yapmadan bir kurucu jenerik yapabilir miyim?
- 28. İşaretçi aritmetiğini bir STL :: vector :: yineleyicide yapabilir miyim
- 29. Rails API'sı ile bir INSERT SELECT işlemini yapabilir miyim?
- 30. js veritabamında çoklu seçim ekleme