mysql:7606
From: "Takuro Suzuki" <"Takuro Suzuki" <etsuzuki@xxxxxxxxxx>>
Date: Mon, 28 Apr 2003 13:40:01 +0900
Subject: [mysql 07606] CREATE TABLE の時の CHECK
PHP4徹底攻略改訂版についているサンプルのSQL文を実行したところ、 エラーになっていしまいました。 テスト環境 OS:Turbolinux 6.5 Server MySQL:3.23.56 PHP4:4.2.3 tenkiをTEXTからVARCHAR(6)にして、ondoとuryouのCHECKをはずすと、 テーブルが作成できました。 最後のGRANT分は、エラーになりますが。 TEXTには、DEFAULTは、使用できないのでしょうか? このCHECK文は、どうしてエラーになるのでしょうか? サンプルのSQL文(ex6/otenki.sql) -- お天気日記テーブルの作成 -- DROP TABLE otenki; CREATE TABLE otenki ( day DATE DEFAULT 'today' PRIMARY KEY, -- 日付(主キー) tenki TEXT DEFAULT '晴れ', -- 天気(晴れ、曇...) ondo INTEGER DEFAULT 25 CHECK(ondo IS NULL OR ONDO > -50 AND ONDO < 50), -- 温度 uryou INTEGER DEFAULT 0 CHECK(uryou IS NULL OR URYOU >= 0), -- 雨量 CONSTRAINT otenki_check CHECK(tenki IS NULL OR (tenki = '晴れ' AND uryou = 0 OR tenki = '曇' OR tenki = '雨')) ); INSERT INTO otenki VALUES('2000-8-1','晴れ',30,0); INSERT INTO otenki VALUES('2000-8-3','曇',27,10); INSERT INTO otenki VALUES('2000-8-10','雨',25,100); GRANT ALL on otenki to nobody; ↑このGRANT文は、MySQLのルートユーザーでないとエラーになりますよね? -------------------------------- (有)水戸コンピュータサービス 鈴木卓朗 TEL: 0294-52-8596
-> 7606 2003-04-28 13:40 ["Takuro Suzuki" <ets] CREATE TABLE の時の CHECK 7618 2003-04-30 11:18 ┗[SUGAWARA Hajime <sug]