看起来像您的“post_id”属性,这可能是您的主键,没有设置为“自动递增”或在数据库中设置为“不为空”。看看下面的ORM。与您的数据进行比较并修复您的DB侧错误。别忘了通过升级你的模型。 GII!
-- -----------------------------------------------------
-- Table `mydb`.`tbl_comment`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tbl_comment` ;
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_comment` (
`post_id` INT NOT NULL,
`status` VARCHAR(45) NULL,
`content` TEXT NULL COMMENT ' ',
`author` VARCHAR(255) NULL,
`email` VARCHAR(255) NULL,
`url` VARCHAR(511) NULL,
`create_time` DATETIME NULL,
PRIMARY KEY (`post_id`))
ENGINE = InnoDB;
否则,如果“POST_ID”是不是你的主键,并没有被设置为“自动增量”你可以试试这个修复它:
解决办法1)制作“ POST_ID”设置之前保存/更新中,如PHP:
$model = new Tbl_comment; //hope this is your Yii model name...
$model->post_id = 123
if(!$model->save()) {
var_dump($model->errors);
}
解决方案2)在d添加默认值atabase ORM属性“post_id”。 (因为我不知道你们的关系和ORM的权利。)
-----------------------------------------
-- Table `mydb`.`tbl_comment`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `mydb`.`tbl_comment` ;
CREATE TABLE IF NOT EXISTS `mydb`.`tbl_comment` (
`post_id` INT NULL DEFAULT someDefault,
`status` VARCHAR(45) NULL,
`content` TEXT NULL COMMENT ' ',
`author` VARCHAR(255) NULL,
`email` VARCHAR(255) NULL,
`url` VARCHAR(511) NULL,
`create_time` DATETIME NULL)
ENGINE = InnoDB;
表的细节:
来源
2014-09-01 14:07:31
lin
您还没有设置在插入查询的POST_ID值。你需要将它的值设置为一个外键 – 2014-09-01 12:43:27
这是,http://codepad.org/EO50vNeN – user1502 2014-09-01 12:54:22