Tôi đang sử dụng mysql và phpmyadmin, tôi có một bảng có tên 2 - cấu trúc như sau; Show
Trong phpmyadmin, tôi chạy truy vấn sau;
Điều này thực hiện thành công. Sau đó, tôi chạy truy vấn này;
Điều này thực hiện thành công và tạo ra những điều sau đây;
Tại sao trường 3 4 - không nên là 5? Tôi có làm điều gì sai? Làm thế nào để thay thế một chuỗi trống bằng null trong truy vấn chèn mysql?Tìm hiểu cách thay thế một chuỗi trống bằng null trong mysql/mariadb
Trong aricle này, chúng ta sẽ thấy làm thế nào chúng ta có thể chèn các giá trị 5 thay cho một chuỗi trống trong mysql/mariadb. Đối với các ví dụ trong bài viết này, giả sử rằng:
Chúng tôi sẽ sử dụng lược đồ xây dựng sau để xây dựng bảng của chúng tôi: CREATE TABLE `user` ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) NOT NULL, job_title VARCHAR(25), PRIMARY KEY (id) ); Sử dụng hàm SELECT * FROM `item` WHERE `item_id` = '5' 2Hàm 2 trả về 5 nếu hai biểu thức (ví dụ: 5 và 6) bằng nhau. Nếu hai biểu thức không bằng nhau, biểu thức đầu tiên được trả về. Nó có cú pháp sau:# Return NULL if expr1 = expr2 NULLIF(expr1, expr2) Ví dụ: để chèn 5 thay vì một chuỗi trống bằng cách sử dụng 2, chúng ta có thể thực hiện các như sau:INSERT INTO `user` (`name`, `job_title`) VALUES ('john', NULLIF('$jobTitle', '')); Điều này sẽ chèn 5 trong cột 0 khi giá trị của biến " 1" khớp với một chuỗi trống. Và, khi hai biểu thức không khớp, giá trị của biến 1 sẽ được chèn.Sử dụng chức năng +-----+------+ | id | year | +-----+------+ | 5 | 0 | +-----+------+ 3Hàm 3 trả về biểu thức thứ nhất nếu điều kiện là 5 và biểu thức thứ hai nếu điều kiện là 6. Nó có cú pháp sau:IF(condition, expr1, expr2) Chúng ta chỉ có thể có một điều kiện để kiểm tra xem giá trị đến từ một biến (ví dụ: " 1") có phải là một chuỗi trống hay không, và theo đó trả về 5 nếu điều kiện là 5 hoặc chính chuỗi khác. Ví dụ:INSERT INTO `user` (`name`, `job_title`) VALUES ('john', IF('$jobTitle' = '', NULL, '$jobTitle')); Sử dụng toán tử CREATE TABLE `user` ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) NOT NULL, job_title VARCHAR(25), PRIMARY KEY (id) ); 0Sử dụng CREATE TABLE `user` ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) NOT NULL, job_title VARCHAR(25), PRIMARY KEY (id) );0 có thể là một lựa chọn khác. Tuy nhiên, nó có thể không phải là lựa chọn tốt nhất khi bạn chỉ có một điều kiện. Cú pháp cho nó như sau: CASE WHEN condition1 THEN result1 # ... WHEN conditionN THEN resultN ELSE result END; Ví dụ sau đây cho thấy cách sử dụng CREATE TABLE `user` ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(25) NOT NULL, job_title VARCHAR(25), PRIMARY KEY (id) );0, chúng ta có thể chèn 5 khi " 1" trống và chèn giá trị của biến khác nếu không: 0Hy vọng bạn tìm thấy bài viết này hữu ích. Nó đã được xuất bản ngày 04 tháng 9 năm 2020. Vui lòng thể hiện tình yêu và sự hỗ trợ của bạn bằng cách chia sẻ bài đăng này.
Đó là bởi vì chèn một chuỗi trống có nghĩa là chúng ta đang chèn một số giá trị và không phải là null. Chuỗi trống dường như ánh xạ đến 0 dưới dạng số nguyên. Nói cách khác, chúng ta có thể nói rằng bằng cách chèn chuỗi trống, chúng ta đang cung cấp một giá trị cho MySQL có biểu diễn số nguyên như int 0. Hãy xem xét ví dụ sau trong đó chúng ta chèn một chuỗi trống và nó được ánh xạ tới 0 bởi MySQL. 1
Cập nhật vào ngày 14 tháng 2 năm 2020 06:22:42
0 được coi là null trong mysql?Trong mysql, 0 hoặc null có nghĩa là sai và bất cứ điều gì khác có nghĩa là đúng.Giá trị sự thật mặc định từ một hoạt động boolean là 1.0 or NULL means false and anything else means true. The default truth value from a boolean operation is 1 .
0 là một số nguyên trong mysql?Giới thiệu về MySQL Int Loại Một số nguyên có thể bằng không, dương và âm.MySQL hỗ trợ tất cả các loại số nguyên SQL tiêu chuẩn hoặc int và nhỏ.Ngoài ra, MySQL cung cấp tinyint trung bình và Bigint làm phần mở rộng cho tiêu chuẩn SQL.An integer can be zero, positive, and negative. MySQL supports all standard SQL integer types INTEGER or INT and SMALLINT . In addition, MySQL provides TINYINT MEDIUMINT , and BIGINT as extensions to the SQL standard.
Chuỗi trống có phải là null trong mysql không?Khái niệm về null và chuỗi trống thường tạo ra sự nhầm lẫn vì nhiều người nghĩ rằng NULL giống như một chuỗi trống MySQL.Tuy nhiên, đây không phải là trường hợp.Một chuỗi trống là một thể hiện chuỗi có độ dài bằng không.Tuy nhiên, một null không có giá trị nào cả.this is not the case. An empty string is a string instance of zero length. However, a NULL has no value at all. |