Mysql视图不起作用

时间:2017-09-28 15:00:01

标签: mysql views

我用这个语句创建了一个测试表:

CREATE TABLE `zprueba` (
`a` INT(11) NOT NULL AUTO_INCREMENT,
`b` VARCHAR(1) NOT NULL,
PRIMARY KEY (`a`),
INDEX `b` (`b`)
)
COLLATE='utf32_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=1;

第2步:我插入2行:

INSERT INTO `zprueba` (`a`, `b`) VALUES (1, 'N');
INSERT INTO `zprueba` (`a`, `b`) VALUES (2, 'S');

第3步:我创建了一个视图

create view zprueba2 as select a,b from zprueba where b='S' 

当我调用此查询时,我获得了1行:

select a,b from zprueba where b='S' 

但是当我打电话时:

select a,b from zprueba2

我获得0行。

任何人都可以帮我解决这个奇怪的行为吗?

祝你好运 劳尔。

1 个答案:

答案 0 :(得分:0)

没有;我无法回复这种行为......

DROP TABLE IF EXISTS zprueba;
DROP VIEW IF EXISTS zprueba2;


CREATE TABLE `zprueba` (
`a` INT(11) NOT NULL AUTO_INCREMENT,
`b` VARCHAR(1) NOT NULL,
PRIMARY KEY (`a`),
INDEX `b` (`b`)
);

INSERT INTO `zprueba` (`a`, `b`) VALUES (1, 'N');
INSERT INTO `zprueba` (`a`, `b`) VALUES (2, 'S');

create view zprueba2 as select a,b from zprueba where b='S';

select a,b from zprueba2 where b='S';
+---+---+
| a | b |
+---+---+
| 2 | S |
+---+---+

select a,b from zprueba2;
+---+---+
| a | b |
+---+---+
| 2 | S |
+---+---+