0

サーバーで SQL スクリプトを実行しています

エラー: エラー 1067: 'Users_Created' のデフォルト値が無効です

CREATE  TABLE IF NOT EXISTS `kwestionariusz_db`.`Companies` (
  `CompanyId` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
  `Created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `Name` TEXT NOT NULL ,
  `Users_UserId` INT UNSIGNED NOT NULL ,
  `Users_Created` TIMESTAMP NULL DEFAULT NULL ,
  PRIMARY KEY (`CompanyId`, `Created`, `Users_UserId`, `Users_Created`) ,
  INDEX `fk_Companies_Users1` (`Users_UserId` ASC, `Users_Created` ASC) ,
  CONSTRAINT `fk_Companies_Users1`
    FOREIGN KEY (`Users_UserId` , `Users_Created` )
    REFERENCES `kwestionariusz_db`.`Users` (`UserId` , `Created` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB

それで、基本的に、私は何を間違えましたか?Company の作成中に Users_Created を更新したくありません。これにより、関係が壊れてしまいます。また、Companys.Created は、Companys.EMail などの変更中に更新されますか? もちろん、私もそれを望んでいませんが、外部キーをnull可能にすることは、とにかく間違っていますよね?それで、私は何をすべきですか?

4

2 に答える 2

0

これを試してください:

`Users_Created` TIMESTAMP DEFAULT 0

TIMESTAMP の初期化に関する完全なガイドについては、次のリファレンス ドキュメントを参照してください。

11.3.4. TIMESTAMP の自動初期化と更新

于 2012-05-28T13:07:44.930 に答える
0

Users_Created列は主キーの一部です。主キーには、NULL 可能な列を含めることはできません。

于 2012-05-28T13:08:41.353 に答える