Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Mengendalikan Apostrof dalam SQL INSERT dan SELECT Statements?

Bagaimanakah Saya Mengendalikan Apostrof dalam SQL INSERT dan SELECT Statements?

Patricia Arquette
Patricia Arquetteasal
2025-01-16 11:11:58345semak imbas

How Do I Handle Apostrophes in SQL INSERT and SELECT Statements?

Sisipkan nilai yang mengandungi apostrof dalam pernyataan SQL

Memasukkan nilai yang mengandungi apostrof secara langsung ke dalam pertanyaan SQL boleh menyebabkan ralat. Ini kerana apostrof mewakili permulaan dan penghujung rentetan dalam SQL. Untuk menyelesaikan masalah ini, tanda kutip perlu dilepaskan.

Sebagai contoh, tanda kutip muncul dalam medan Terakhir jadual Orang:

<code class="language-sql">Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'</code>

Sintaks ini akan menyebabkan ralat kerana apostrof yang mengikuti huruf O akan ditafsirkan sebagai penghujung nilai rentetan. Untuk membetulkannya, hanya gandakan tanda kutip untuk melepaskannya:

<code class="language-sql">INSERT INTO Person
    (First, Last)
VALUES
    ('Joe', 'O''Brien')</code>

Prinsip yang sama digunakan untuk pertanyaan PILIH:

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>

Ini kerana apostrof digunakan untuk memisahkan rentetan. Apabila anda ingin menggunakan apostrof sebenar dalam rentetan, ia perlu dilepaskan untuk mengelakkan SQL daripada tersalah anggap ia sebagai penghujung rentetan.

Walau bagaimanapun, perlu diperhatikan bahawa pembangun biasanya tidak menghadapi masalah ini semasa menulis kod. Rangka kerja dan alatan selalunya menjaga untuk melarikan diri daripada aksara khas dan menghalang kelemahan suntikan SQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Mengendalikan Apostrof dalam SQL INSERT dan SELECT Statements?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn