2

このような列を持つテーブルを作成したいと思います。

CREATE  TABLE `user_gender` (
  `user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `user_gender_title` VARCHAR(100) NOT NULL ,
  `user_gender_modified_on` DATETIME NOT NULL DEFAULT 0000-00-00 00:00:00 ,
  `user_gender_created_on` DATETIME NOT NULL DEFAULT 0000-00-00 00:00:00 ,
  PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;

しかし、デフォルトの0000-00-00はmysqlでは機能しないようです。ただし、joomlaデータベースモデルから模倣したので、正しく機能するはずです。しかし、私のphpadminは、-00-00に構文エラーがあると言い続けています。誰かがこれを説明できますか?

4

3 に答える 3

2

drefaultの値を引用符で囲んでみてください。

CREATE  TABLE `user_gender` (
  `user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
  `user_gender_title` VARCHAR(100) NOT NULL ,
  `user_gender_modified_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
  `user_gender_created_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
  PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;
于 2013-02-07T17:45:48.273 に答える
1

デフォルト値に引用符がありません。

CREATE  TABLE `user_gender` (
`user_gender_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
`user_gender_title` VARCHAR(100) NOT NULL ,
`user_gender_modified_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
`user_gender_created_on` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ,
PRIMARY KEY (`user_gender_id`) )
ENGINE = InnoDB;
于 2013-02-07T17:46:54.227 に答える
0

これはMySQL5.5で壊れているようです。最近、特定のインスタンスに設定されている「0000-00-0000:00:00」の値に依存するアプリケーションをアップグレードして破損しました。以前は常に機能していましたが、プラットフォームのバージョンの更新のみが変更されたため、機能しなくなりました。

于 2016-03-09T03:23:42.603 に答える