Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menghalang Sisipan Rentetan Kosong dalam Jadual MySQL?

Bagaimanakah Saya Boleh Menghalang Sisipan Rentetan Kosong dalam Jadual MySQL?

Patricia Arquette
Lepaskan: 2024-11-19 05:50:02
asal
316 orang telah melayarinya

How Can I Prevent Empty String Inserts in MySQL Tables?

Mencegah Penyelitan Rentetan Kosong dalam MySQL dengan Kekangan

Dalam perbincangan sebelum ini, kaedah untuk menghalang pemasukan nilai NULL dalam MySQL telah dibentangkan . Walau bagaimanapun, pengawasan membenarkan rentetan kosong dimasukkan walaupun terdapat kekangan. Artikel ini meneroka cara untuk menangani isu ini menggunakan kekangan pangkalan data, memastikan integriti data pada kedua-dua bahagian pangkalan data dan aplikasi.

Pertimbangkan definisi jadual berikut:

CREATE TABLE IF NOT EXISTS tblFoo (
  foo_id int(11) NOT NULL AUTO_INCREMENT,
  foo_test varchar(50) NOT NULL,
  PRIMARY KEY (foo_id)
);
Salin selepas log masuk

Takrifan ini, walaupun menguatkuasakan NOT NULL kekangan pada lajur foo_test, masih membenarkan sisipan kosong rentetan:

INSERT INTO tblFoo (foo_test) VALUES ('');
Salin selepas log masuk

Untuk mengelakkan ini, seseorang boleh menggunakan kekangan CHECK. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa sebelum MySQL versi 8.0, kekangan jenis ini tidak disokong. Seperti yang dinyatakan dalam Manual Rujukan MySQL:

The CHECK clause is parsed but ignored by all storage engines.
Salin selepas log masuk

Untuk versi MySQL yang lebih lama, penyelesaiannya adalah dengan menggunakan pencetus seperti yang dicadangkan. Walau bagaimanapun, untuk perkembangan masa hadapan, mungkin berfaedah untuk mempertimbangkan pangkalan data dengan sokongan yang dipertingkatkan untuk integriti data, seperti PostgreSQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Sisipan Rentetan Kosong dalam Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan