4

この回答を読んENUMで、行の複数の「チェック済み」値を挿入して更新できるかどうかを推測しMySQLます.

エンティティの例:

TABLE
id INT auto_increment
day_list ENUM ('1','2','3,'4','5,'6','7')
gender ENUM ('m','f')

私は次のことを試しました(週末がチェックされ、2つの性別もチェックされることを指定するために):

INSERT INTO TABLE (day_list,gender) VALUE ('{6,7}','{m,f}')

エラーは返されず、レコードは正しく挿入されますが、day_list と性別フィールドは空です。

そのため、mySQL では動作しないようです。また、phpMyAdmin (3.2.0) では、値が (チェックボックスではなく) ラジオ ボタンでチェックされるため、これは可能ではないようです。

それを機能させる方法について何か考えはありますか?LIKEまたは、リクエストなしで関連エンティティ(TABLE_DAYSやTABLE_GENDERなど)なしでチェックされた日を記録および選択する別のソリューションはありますか?

4

1 に答える 1

6

MySQL では、ENUMタイプ フィールドは 1 つの値のみを受け入れることができます。

phpMyAdminでいくつかの検索を行った後、SETタイプが仕事をするようです.

したがって、エンティティ:

TABLE
id INT auto_increment
day_list SET ('1','2','3,'4','5,'6','7')
gender SET ('m','f')

挿入方法:

INSERT INTO TABLE (day_list,gender) VALUE ('6,7','m,f')

値の検索について:

  • 値が整数の場合:INデータが順序付けされている場合に機能します。
  • 値が整数でない場合 :FIND_IN_SETは必須であり、検索データを並べ替える必要はありません。

制限 :SETタイプは 64 メンバーのみを受け入れます。それ以上の場合は、外部協会エンティティが必要になります。

于 2013-07-01T13:40:07.003 に答える