MySQLの整数列に正の整数制約を追加しますか?
負の数を入力できないため、unsignedを使用する必要があります。
構文は次のとおりです
CREATE TABLE yourTableName ( yourColumnName INT UNSIGNED );
概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです
mysql> create table OnlyPositiveValue - > ( - > Marks int UNSIGNED - > ); Query OK, 0 rows affected (0.58 sec)
テーブルにデータを挿入する前に、以下のクエリを使用してください。
クエリは次のとおりです
mysql> SET @@SESSION.sql_mode = 'STRICT_TRANS_TABLES'; Query OK, 0 rows affected, 1 warning (0.00 sec)
ここで、INSERTコマンドに負の数を追加すると、次のエラーが表示されます
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
正の数を挿入しましょう。
クエリは次のとおりです
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)
selectステートメントを使用してテーブルのすべてのレコードを表示します。
クエリは次のとおりです
mysql> select *from OnlyPositiveValue;
以下は正の数を表示する出力です
+-------+ | Marks | +-------+ | 0 | | 10 | | 100 | +-------+ 3 rows in set (0.00 sec)
-
列の値を置き換えるMySQLクエリ
まずテーブルを作成しましょう- mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, Score int ); Query OK, 0 rows affected (0.45 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable(Score) values(56); Query OK, 1 row affected (0.24 sec)
-
MySQLクエリの列にユーザー定義の値を追加しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable1847 ( GameStatus ENUM('PENDING','COMPLETED','CANCELLED') ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1847