Ini adalah kali pertama saya menggunakan sql dan cuba memasukkan data hanya jika entri tiada dalam pangkalan data. Sql saya kelihatan seperti ini:
insert_query = ("IF NOT EXISTS ( SELECT 1 FROM `follows` WHERE `id_user` = '"+user_id+"' AND `id_folgt` = '"+folgt_id+"') BEGIN INSERT INTO `follows`(`id_user`, `id_folgt`) VALUES ('"+user_id+"','"+folgt_id+"')END;")
Malangnya saya mengalami ralat sintaks
Jika anda hanya mahu memasukkan baris jika ia tidak wujud dalam jadual, anda mempunyai banyak pilihan:
Buat indeks unik melalui ungkapan untuk mengesan sama ada ia wujud. Jika nilai ungkapan ini sudah wujud dalam jadual, pelayan akan menghalang penyisipan.
Gunakan INSERT .. PADA DUPLICATE KEY UPDATE dan operasi UPDATE palsu (contohnya,
id = id
,其中id
ialah kunci utama).Guna INSERT.. PILIH mengikut MANA TAK WUJUD. Sisipan dilakukan hanya jika klausa WHERE mengembalikan TRUE.
Ada lagi pilihan...