开发者

mySQL view for two different tables?

I've a massive problem creating a view in mySQL:

Table A in database DB1:

CREATE TABLE `a` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'internal ID',
    `account` VARCHAR(10) NOT NULL DEFAULT '0',
    `filename` VARCHAR(50) NOT NULL,
    `filesize` BIGINT(15) NOT NULL DEFAULT '0'
    PRIMA开发者_如何学运维RY KEY (`id`)
)
ENGINE=InnoDB

Table B in database DB2:

CREATE TABLE `b` (
        `archive_id` INT(10) UNSIGNED NULL AUTO_INCREMENT,
        `archive_datetime` DATETIME,
    `id` INT(10) UNSIGNED NOT NULL,
    `account` VARCHAR(10) NOT NULL DEFAULT '0',
    `filename` VARCHAR(50) NOT NULL,
    `filesize` BIGINT(15) NOT NULL DEFAULT '0'
    PRIMARY KEY (`archive_id`)
)
ENGINE=Archive

Entries from table A are automatically transfered to table B via trigger if BEFORE DELETE.

I need a view that gives me all entries from table a and table b as if they were still in one table of the same database. Columns archive_id and archive_datetime can be ignored in the view as they are not needed for this scenario.


You could use UNION:

SELECT * FROM a UNION SELECT * FROM b;

You just have to replace * with the desired table columns.


SELECT id, account, filename, filesize FROM a UNION ALL SELECT id, account, filename, filesize FROM b

Surely I must be missing something?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜