gpt4 book ai didi

mysql - 使用自动递增主键插入到 View 中?

转载 作者:行者123 更新时间:2023-11-30 23:11:00 27 4
gpt4 key购买 nike

我有一个表 horse 和一个 View view_horsehorse 表中选择除主键之外的每一列(主键是 auto -increment integer) 然后将其呈现给用户,我想将数据插入到该 View 的基础表中,自然希望自动生成主键。但是当我尝试向其中插入任何数据时,我不断收到一个 SQL 异常,指出“视野 view_horse 底层没有默认值”。

编辑 -

CREATE TABLE IF NOT EXISTS `TRC`.`horse` (
`horse_id` INT NOT NULL AUTO_INCREMENT,
`registered_name` VARCHAR(20) NOT NULL,
`stable_name` VARCHAR(20) NOT NULL,
`horse_birth_year` DATE NOT NULL,
`horse_height` DECIMAL(3,1) NOT NULL,
`horse_location` VARCHAR(50) NOT NULL DEFAULT 'TRC',
`arrival_date` DATE NOT NULL,
`passport_no` MEDIUMTEXT NULL,
`is_deceased` TINYINT(1) NOT NULL,
`arrival_weight` DECIMAL NOT NULL,
`horse_sex` VARCHAR(8) NOT NULL,
`microchip_no` VARCHAR(15) NULL,
`date_of_death` DATE NULL,
PRIMARY KEY (`horse_id`),
INDEX `fk_Horses_SexLookup1_idx` (`horse_sex` ASC),
CONSTRAINT `fk_Horses_SexLookup1`
FOREIGN KEY (`horse_sex`)
REFERENCES `TRC`.`lookup_sex` (`sex`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB

USE `TRC`;
CREATE OR REPLACE VIEW `TRC`.`view_horse` AS SELECT
registered_name AS 'Registered Name',
stable_name AS 'Stable Name',
horse_birth_year AS 'Age',
horse_height AS 'Height',
arrival_weight AS 'Weight on Arrival',
horse_sex AS 'Sex',
horse_location AS 'Location',
arrival_date AS 'Date of Arrival',
passport_no AS 'Passport no.',
microchip_no AS 'Microchip no.',
is_deceased AS 'Alive?'
FROM `horse`;

如果我在没有指定列的情况下插入到 View 中,它实际上可以正常完成。但当我按照 View 中指定的方式提供列时则不然。

最佳答案

您不是想插入实际的 VIEW 中吗?插入 TABLE,并从 VIEW 中选择。

编辑。忘了它;谢谢草莓的指正。

关于mysql - 使用自动递增主键插入到 View 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19730397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com