2011-04-23 695 views
2

我有以下的MySql语法来创建一个约束表来检查P_Id列有大于零的值,但它仍然允许我添加小于0像-1, -2等MySql约束有特定的字段值大于零

CREATE TABLE Persons(
    P_Id int NOT NULL , 
    LastName varchar(255) NOT NULL , 
    FirstName varchar(255) , 
    Address varchar(255) , 
    City varchar(255) , 
    CHECK (
     P_Id >0 
    ) 
) 

有没有什么,我在做错在上面的结构中有P_Id> 0的值?

+0

是的p_id应该是一个主键?如果是这样,你最好让MySQL使用具有'AUTO_INCREMENT'的PRIMARY KEY('P_Id')'作为P_Id的一个选项来处理它。 – KushalP 2011-04-23 13:43:15

+0

不,P_Id不应该是主键。 – Kalx 2011-04-23 13:45:52

+0

UNSIGNED INT会为你工作吗? – trickwallett 2011-04-23 14:11:34

回答