私はmysqlを初めて使用しているので、データベースにテーブルを作成するためにphpmyadminを使用しています。私は可能な値 "manufacturer1"、 "manufacturer2"を持つ列挙型のフィールドメーカーを持っています...phpmyadminが列挙型の値を作成しないのはなぜですか?
私はENUMタイプを選択し、 "ENUM/SET値の編集"をクリックして希望の値を求めるポップアップを表示します。私は命令を休憩し、 "go"と "Manufacturer1"、 "Manufacturer2"、 "Manufacturer3"、 "Manufacturer4"はLength/Valuesには書かれていません。
テーブルを作成しようとすると、1064の構文エラーが発生します。私は、 "プレビューSQL" をクリックすると、私はこれを取得:
CREATE TABLE `test4_db`.`product` (`product_id` INT(11) NOT NULL AUTO_INCREMENT , `image_url` VARCHAR(255) NOT NULL , `manufacturer` ENUM(0) NOT NULL DEFAULT 'Manufacturer1' , `health` ENUM(0) NOT NULL , `missing` INT(11) NOT NULL , `statuss` ENUM(0) NOT NULL DEFAULT 'available' , `owner_id` INT(11) NOT NULL , `holder_id` INT(11) NOT NULL , PRIMARY KEY (`puzzle_id`)) ENGINE = InnoDB CHARSET=utf8 COLLATE utf8_bin;
なぜphpmyadminの書き込みENUM(0)の代わりにENUMの( 'Manufacturer1'、 'Manufacturer2'、 'Manufacturer3'、 'Manufacturer4')?
phpmyadmin uiを使用してデータを編集しないでください。むしろSQLクエリボックスを使用します。テーブル内のフィールドを編集/更新するには、 'UPDATE'クエリを使用します。これにより、目的の結果が得られます。 –
また、 'tinyint(1)' i.p.oを使うこともできます。あなたがあなたのやり方でそれをやりたいのであれば 'enum' – Franco
phpMyAdminを別のブラウザで試してみてください。違いはありますか? – Alexxus