在服务器
中执行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
所以,基本上,我做错了什么?我不希望在创建公司时更新Users_Created,这会破坏关系。此外 - 是公司.Created将在更改时更新,例如Companies.EMail?显然,我也不希望这样,但是无论如何使外键变为无效也是错误的,对吧?那我该怎么办?
答案 0 :(得分:0)
尝试这样做:
`Users_Created` TIMESTAMP DEFAULT 0
有关TIMESTAMP初始化的完整指南,请阅读此参考文档:
答案 1 :(得分:0)
Users_Created
列是主键的一部分。主键不能包含可空列。