- 列の値が特定の範囲内にあることを確認する例:
CREATE TABLE users (
id INT PRIMARY KEY,
age INT,
CHECK (age >= 18 AND age <= 65)
);
上記の例では、usersテーブルのage列の値が18以上かつ65以下であることを確認しています。もし範囲外の値が挿入されようとすると、エラーが発生します。
- 列の値が特定の条件を満たすことを確認する例:
CREATE TABLE products (
id INT PRIMARY KEY,
quantity INT,
price DECIMAL(10,2),
CHECK (quantity > 0 AND price > 0)
);
上記の例では、productsテーブルのquantity列とprice列の値がどちらも0より大きいことを確認しています。もし条件を満たさない値が挿入されようとすると、エラーが発生します。
- 列の値が他の列と関連していることを確認する例:
CREATE TABLE orders (
id INT PRIMARY KEY,
total_amount DECIMAL(10,2),
discount DECIMAL(10,2),
CHECK (discount <= total_amount)
);
上記の例では、ordersテーブルのdiscount列の値がtotal_amount列の値以下であることを確認しています。もし関連の条件を満たさない値が挿入されようとすると、エラーが発生します。
以上が、MariaDBでのチェック制約の例です。これらの例を参考にして、自身のデータベーステーブルに適切なチェック制約を設定することができます。