色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql中如何寫檢查約束

劉柏宏2年前9瀏覽0評論

MySQL中的檢查約束可以用于在插入或更新表中數(shù)據(jù)時對特定規(guī)則進(jìn)行驗(yàn)證。它允許您控制允許的值,并且可以保證數(shù)據(jù)的有效性和完整性,提供數(shù)據(jù)一致性和可靠性。下面是如何在MySQL中編寫檢查約束的方法。

-- 創(chuàng)建表
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(255) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
age INT,
CHECK (gender IN ('male', 'female')) -- 檢查約束
);
-- 插入數(shù)據(jù)
INSERT INTO users (user_id, username, email, gender, age)
VALUES 
(1, 'johndoe', 'johndoe@example.com', 'male', 30),
(2, 'janedoe', 'janedoe@example.com', 'female', 25),
(3, 'bobsmith', 'bobsmith@example.com', 'male', 40),
(4, 'maryjane', 'maryjane@example.com', 'female', 20);
-- 試圖插入不符合規(guī)則的數(shù)據(jù)
INSERT INTO users (user_id, username, email, gender, age)
VALUES (5, 'jimmy', 'jimmy@example.com', 'other', 35); -- 沒有插入成功

如上述示例所示,我們可以在CREATE TABLE語句中使用CHECK約束來指定每個表列的驗(yàn)證規(guī)則。在本例中,我們使用ENUM數(shù)據(jù)類型來定義字段gender的值,該字段只能是'male'或'female'。因此,如果我們嘗試插入值“other”作為gender的值,插入操作將失敗。

除了CHECK約束之外,MySQL還支持FOREIGN KEY約束、NOT NULL約束等。通過使用這些約束,您可以確保表中的數(shù)據(jù)符合您的預(yù)期規(guī)則,幫助您避免數(shù)據(jù)一致性和完整性方面的問題。