Computer >> Máy Tính >  >> Lập trình >> MySQL

Thêm ràng buộc số nguyên dương vào cột số nguyên trong MySQL?

Bạn cần sử dụng không dấu cho mục này vì nó sẽ không cho phép bạn nhập số âm.

Cú pháp như sau

CREATE TABLE yourTableName
(
   yourColumnName INT UNSIGNED
);

Để hiểu khái niệm này, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table OnlyPositiveValue
   - > (
   - > Marks int UNSIGNED
   - > );
Query OK, 0 rows affected (0.58 sec)

Trước khi chèn dữ liệu vào bảng, hãy sử dụng truy vấn bên dưới.

Truy vấn như sau

mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES';
Query OK, 0 rows affected, 1 warning (0.00 sec)

Bây giờ, nếu bạn thêm một số âm trong lệnh INSERT, lỗi sau sẽ hiển thị

mysql> insert into OnlyPositiveValue values(-10);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1
mysql> insert into OnlyPositiveValue values(-100);
ERROR 1264 (22003): Out of range value for column 'Marks' at row 1

Hãy để chúng tôi chèn các số dương.

Truy vấn như sau

mysql> insert into OnlyPositiveValue values(0);
Query OK, 1 row affected (0.17 sec)
mysql> insert into OnlyPositiveValue values(10);
Query OK, 1 row affected (0.14 sec)
mysql> insert into OnlyPositiveValue values(100);
Query OK, 1 row affected (0.11 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from OnlyPositiveValue;

Sau đây là kết quả hiển thị số dương

+-------+
| Marks |
+-------+
|     0 |
|    10 |
|   100 |
+-------+
3 rows in set (0.00 sec)