Php mysql kiểm tra xem bản ghi có tồn tại trước khi chèn không

Để kiểm tra xem một hàng có tồn tại trong bảng MySQL hay không, hãy sử dụng điều kiện tồn tại. Điều kiện tồn tại có thể được sử dụng với truy vấn con. Nó trả về true khi hàng tồn tại trong bảng, nếu không thì trả về false. Đúng được biểu thị ở dạng 1 và sai được biểu thị bằng 0

Để hiểu rõ hơn, trước tiên chúng ta sẽ tạo một bảng với sự trợ giúp của lệnh CREATE. Sau đây là truy vấn để tạo một bảng -

mysql> CREATE table ExistsRowDemo
-> [
-> ExistId int,
-> Name varchar[100]
-> ];
Query OK, 0 rows affected [0.53 sec]

Sau khi tạo bảng thành công, chúng ta sẽ chèn một số bản ghi với sự trợ giúp của lệnh INSERT. Truy vấn để chèn bản ghi vào bảng -

mysql> INSERT into ExistsRowDemo values[100,'John'];
Query OK, 1 row affected [0.16 sec]

mysql> INSERT into ExistsRowDemo values[101,'Bob'];
Query OK, 1 row affected [0.17 sec]

mysql> INSERT into ExistsRowDemo values[103,'Carol'];
Query OK, 1 row affected [0.20 sec]

mysql> INSERT into ExistsRowDemo values[104,'David'];
Query OK, 1 row affected [0.13 sec]

Sau khi chèn tất cả các bản ghi, chúng ta có thể hiển thị chúng với sự trợ giúp của lệnh SELECT như sau:

mysql> SELECT * from ExistsRowDemo;

Sau đây là đầu ra -

+---------+-------+
| ExistId | Name  |
+---------+-------+
| 100     | John  |
| 101     | Bob   |
| 103     | Carol |
| 104     | David |
+---------+-------+
4 rows in set [0.00 sec]

Chúng tôi đã thêm một số bản ghi vào bảng. Cú pháp để kiểm tra xem một hàng có tồn tại trong bảng hay không với sự trợ giúp của điều kiện EXISTS như sau:

SELECT EXISTS[SELECT * FROM yourTableName WHERE yourCondition];

Tôi đang áp dụng truy vấn trên để nhận được kết quả -

Note: Firstly, I am considering the condition when row exists in the table. After that, the
condition will be mentioned when a row does not exist.

Trường hợp 1

Trong trường hợp này, tôi đưa ra một điều kiện khi hàng tồn tại. Hãy để chúng tôi áp dụng cú pháp trên để kiểm tra xem hàng có tồn tại hay không

mysql> SELECT EXISTS[SELECT * from ExistsRowDemo WHERE ExistId=104];

Sau đây là đầu ra -

+------------------------------------------------------+
| EXISTS[SELECT * from ExistsRowDemo WHERE ExistId=104]|
+------------------------------------------------------+
| 1                                                    |
+------------------------------------------------------+
1 row in set [0.00 sec]

Từ đầu ra mẫu ở trên, rõ ràng là hàng tồn tại, vì giá trị chúng tôi nhận được là 1. Điều này có nghĩa là ĐÚNG

Trong hướng dẫn phát triển web PHP này, chúng ta sẽ có kiến ​​thức về cách sử dụng truy vấn chèn mysql để kiểm tra dữ liệu đã được chèn hay chưa. Đối với những điều này, chúng tôi đã sử dụng truy vấn chèn với truy vấn phụ với điều kiện ở đâu và không thoát. Chúng tôi đã tạo truy vấn chèn đơn giản với truy vấn phụ chọn với vị trí không tồn tại để kiểm tra dữ liệu đã được chèn hay chưa trong truy vấn chèn. Ngày xưa, nếu bạn muốn chỉ nhập dữ liệu duy nhất vào một cột cụ thể, thì lúc đó trước khi thực hiện truy vấn chèn dữ liệu, trước tiên bạn phải viết truy vấn chọn để kiểm tra dữ liệu này có hay không, nhưng bây giờ chúng tôi sử dụng WHERE NOT EXISTS và viết . Bằng cách này, chúng ta chỉ phải viết một câu truy vấn để kiểm tra dữ liệu đã được chèn hay chưa. Để biết thêm chi tiết, bạn có thể xem video của bài đăng này


Mã nguồn

cơ sở dữ liệu


 --  
 -- Table structure for table `brand`  
 --  
 CREATE TABLE IF NOT EXISTS `brand` [  
  `brand_id` int[11] NOT NULL AUTO_INCREMENT,  
  `brand_name` varchar[250] NOT NULL,  
  PRIMARY KEY [`brand_id`]  
 ] ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;  
 --  
 -- Dumping data for table `brand`  
 --  

data_already_inserted. php


 

Chủ Đề