Sebenarnya, kedua-duanya adalah pengendali tugasan, digunakan untuk tugasan, tetapi perbezaan ketara antara mereka adalah seperti berikut -
= operator memberikan nilai sebagai sebahagian daripada pernyataan SET atau sebagai sebahagian daripada klausa SET dalam kenyataan UPDATE , dalam mana-mana kes lain operator = ditafsirkan sebagai pengendali perbandingan. Sebaliknya, pengendali := memberikan nilai dan tidak pernah ditafsirkan sebagai pengendali perbandingan.
mysql> Update estimated_cost1 SET Tender_value = '8570.000' where id = 2; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> Update estimated_cost1 SET Tender_value := '8575.000' where id = 2; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Changed: 1 Warnings: 0
Dalam dua pertanyaan di atas, kami menggunakan = operator dan := operator untuk mengemas kini nilai jadual.
mysql> Set @A = 100; Query OK, 0 rows affected (0.01 sec) mysql> Select @A; +------+ | @A | +------+ | 100 | +------+ 1 row in set (0.00 sec) mysql> Set @B := 100; Query OK, 0 rows affected (0.00 sec) mysql> Select @B; +------+ | @B | +------+ | 100 | +------+ 1 row in set (0.00 sec)
Dalam dua pertanyaan di atas, kami menggunakan = operator dan := operator untuk menetapkan nilai kepada pembolehubah pengguna. Kita dapat melihat bahawa = operator dan := operator mempunyai penggunaan dan fungsi yang sama dalam kedua-dua kes. Tetapi dalam pertanyaan berikut = operator digunakan sebagai operator perbandingan dan memberikan hasil sebagai "TRUE" iaitu pembolehubah pengguna @A dan @B mempunyai nilai yang sama.
rreeeeAtas ialah kandungan terperinci Apakah perbezaan antara = dan := pengendali tugasan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!