3

P_Id 列の値がゼロより大きいことを確認する制約付きのテーブルを作成する次の MySql 構文がありますが、それでも -1、-2 などのように 0 未満の値を追加できます。

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 の値を持つために間違っていることはありますか??

4

2 に答える 2

2

チェック制約はmysqlでは機能しません。それらをエミュレートするには、いくつかのトリックを作成する必要があります。この記事を見てください

http://forge.mysql.com/wiki/Triggers#Emulating_Check_Constraints

于 2011-04-23T14:11:25.117 に答える