1

phpmyadmin でテーブルを作成すると、次のエラーが表示されます![ここに画像の説明を入力][1] エラー

SQL クエリ:

CREATE TABLE `user` (
`usrID` BIGINT( 11 ) NOT NULL ,
`name` VARCHAR( 100 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
`mobile` VARCHAR( 10 ) NOT NULL ,
`gender` CHAR( 10 ) NOT NULL ,
`countryID` INT( 11 ) NULL ,
`stateID` INT( 11 ) NULL ,
`cityID` INT( 11 ) NULL ,
`pincode` VARCHAR( 6 ) NULL ,
`place` VARCHAR( 100 ) NULL ,
`address` VARCHAR( 200 ) NULL ,
`usertype` VARCHAR( 5 ) NULL ,
`pass` VARCHAR( 20 ) NULL ,
`edate` DATETIME NULL ,
`eusrID` INT( 11 ) NULL ,
`busrID` INT( 11 ) NULL ,
`adminID` INT( 11 ) NULL ,
`active` SET( 1 ) NOT NULL
) ENGINE = innodb

MySQL は次のように述べています。

#1064- SQL 構文にエラーがあります。1 行目の '1) NOT NULL) ENGINE = innodb' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2

2

の値は1一重引用符で囲む必要があります。詳しくはこちらをご覧ください。

`active` SET( '1' ) NOT NULL

SQLFiddle デモ

于 2012-10-20T06:53:50.523 に答える
0

SET列の可能な文字列値の数を取ります。たとえば、;

`color` SET('red', 'green', 'blue')

これは、列が、などの値を持つ可能性があることを意味します'red''red,blue''red,green,blue'

あなたの定義;

`active` SET(1)

本当に意味がありません。ブール値のフラグ ( ) を探しているかINT(1)、フィールドに設定できる値をリストする必要があります。SET('yes','no')すべての値'yes''no'および(組み合わせ) が許可されることに注意してください。これは、フラグ'yes,no'の最適な選択ではない可能性があります。active

于 2012-10-20T07:05:57.467 に答える