Saya punya tabel - konfigurasi . Skema:
config_name | config_value
Dan saya ingin memperbarui beberapa catatan dalam satu permintaan. Saya coba seperti itu:
UPDATE config
SET t1.config_value = 'value'
, t2.config_value = 'value2'
WHERE t1.config_name = 'name1'
AND t2.config_name = 'name2';
tapi kueri itu salah :(
Bisakah kamu membantuku?
Jawaban:
Coba sintaks pembaruan multi-tabel
Ini demo SQLFiddle
atau pembaruan bersyarat
Ini demo SQLFiddle
sumber
config AS t1
jikaAS
opsional.Anda dapat mencapainya dengan INSERT seperti di bawah ini:
Ini memasukkan nilai-nilai baru ke dalam tabel, tetapi jika kunci utama digandakan (sudah dimasukkan ke dalam tabel) nilai-nilai yang Anda tentukan akan diperbarui dan catatan yang sama tidak akan dimasukkan kedua kalinya.
sumber
dalam kasus saya, saya harus memperbarui catatan yang lebih dari 1000, untuk ini daripada memukul permintaan pembaruan setiap kali saya lebih suka ini,
78,77 adalah Id pengguna dan untuk id pengguna itu saya masing-masing harus memperbarui base_id 999 dan 88. Ini berfungsi untuk saya.
sumber
mungkin bagi seseorang itu akan bermanfaat
untuk Postgresql 9.5 berfungsi sebagai pesona
SQL ini memperbarui catatan yang ada dan menyisipkan jika yang baru (2 in 1)
sumber
Solusi Camille berhasil. Mengubahnya menjadi fungsi PHP dasar, yang menulis pernyataan SQL. Semoga ini bisa membantu orang lain.
sumber
bukannya ini
kamu bisa memakai
sumber
Jalankan kode di bawah ini untuk memperbarui n jumlah baris, di mana ID Induk adalah id yang ingin Anda dapatkan datanya dan Id anak adalah id yang perlu diperbarui sehingga Anda hanya perlu menambahkan id induk dan id anak untuk memperbarui semua baris yang Anda butuhkan menggunakan skrip kecil.
sumber
Dengan asumsi Anda memiliki daftar nilai untuk diperbarui dalam spreadsheet Excel dengan config_value dalam kolom A1 dan config_name di B1 Anda dapat dengan mudah menulis kueri di sana menggunakan rumus Excel seperti
=CONCAT("UPDATE config SET config_value = ","'",A1,"'", " WHERE config_name = ","'",B1,"'")
sumber
Jalankan kode di bawah ini jika Anda ingin memperbarui semua catatan di semua kolom:
dan jika Anda ingin memperbarui semua kolom pada baris tertentu maka jalankan kode di bawah ini:
sumber