Mengubah suai Lajur dengan Menolak Nilai
Apabila bekerja dengan pangkalan data MySQL, pengguna mungkin menghadapi keperluan untuk mengemas kini lajur tertentu dengan menolak nilai yang telah ditetapkan. Ini boleh dicapai melalui pertanyaan yang direka dengan baik, seperti yang ditunjukkan di bawah:
Pertanyaan:
UPDATE a75ting.username SET points = points - 5
Penjelasan:
Pertanyaan di atas menyasarkan pangkalan data a75ting dan jadual nama pengguna. Ia secara khusus mengubah suai lajur mata dengan mengurangkan nilai semasanya sebanyak 5.
Pembetulan Ralat:
Pada mulanya, pengguna cuba melaksanakan pertanyaan berikut:
UPDATE `a75ting`.`username` SET `points` = '`points` - 5'
Walau bagaimanapun, pertanyaan ini akan gagal kerana melampirkan ungkapan penolakan dalam petikan tunggal menukarkannya kepada rentetan teks biasa. Akibatnya, MySQL mentafsir "mata - 5" sebagai nilai literal dan bukannya operasi matematik.
Sintaks Betul:
Untuk melaksanakan penolakan yang dimaksudkan, satu petikan mesti ditinggalkan. Ini membolehkan MySQL mengenali mata sebagai medan dan melaksanakan operasi penolakan dengan sewajarnya.
Nota:
Pertanyaan ini menganggap bahawa lajur mata adalah daripada jenis data berangka, seperti INT atau FLOAT. Percubaan untuk menolak nilai daripada medan bukan berangka akan mengakibatkan ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menolak Nilai dengan Cekap dari Lajur MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!