Mysql View 不起作用

标签 mysql view

我使用以下语句创建了一个测试表:

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 步:我创建了一个 View

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 行。

有人可以帮助我解决这种奇怪的行为吗?

最诚挚的问候 劳尔。

最佳答案

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

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 |
+---+---+

关于Mysql View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46472376/

相关文章:

mysql - MySQL 指定字段的 UPDATE 语句

MySQL count(DISTINCT) 非常慢 - 子查询更好?

sql - 连接两个表并在一行中合并多个关联

C# - 填充 Gridview

MySQL:截断表与从表中删除

mysql - 如何在mysql中只选择2行相同的水果类型?

mysql - 按特定条件订购

sql - 强制 Oracle 数据库不实现 CTE

dynamic - View 中的 Couchbase 通配符/变量键

MySQL 排行榜 View