Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否有任何默认表可以将其用作别名?_Mysql_Sql - Fatal编程技术网

Mysql 是否有任何默认表可以将其用作别名?

Mysql 是否有任何默认表可以将其用作别名?,mysql,sql,Mysql,Sql,我有一个疑问: $db ->prepare("INSERT INTO events (post_id, table_code, other_id, user_id, author_id, date_time ) select ?, 15, ?, ?, ?, UNIX_TIMESTAMP() UNION ALL select ?, 15, ?, ?, ?, UNIX_TIMESTAMP(

我有一个疑问:

$db
->prepare("INSERT INTO
             events (post_id, table_code, other_id, user_id, author_id, date_time )
             select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
              UNION ALL
             select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
               from (select 1) as a
              where 1=?
")->execute(array($answer_id, $answer_id, $author_ques_id, $author_ques_id,
                  $answer_id, $answer_id, $author_ques_id, $author_ans_id,
                  ($yourCondition?1:0) ));
请关注这一行:

from (select 1) as a
我的查询也很有效,一切正常

我只记得我在某个地方读到一个默认的表名,比如double,我可以使用它,而不是在本例中选择1作为a。有人知道那是什么吗?

你想的是双重身份。这是从甲骨文借来的。因此,不是:

select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
from (select 1) as a
你可以写:

select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
from dual
这是记录在案的:

DUAL纯粹是为了方便那些需要这一切的人 SELECT语句应该包含FROM子句,也可能包含其他子句。MySQL 可以忽略这些条款。如果没有表,MySQL不需要来自DUAL 被引用

不过,我不确定这是真的。我认为可能需要带有where和group by子句的from。

您考虑的是dual。这是从甲骨文借来的。因此,不是:

select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
from (select 1) as a
你可以写:

select ?, 15, ?, ?, ?, UNIX_TIMESTAMP()
from dual
这是记录在案的:

DUAL纯粹是为了方便那些需要这一切的人 SELECT语句应该包含FROM子句,也可能包含其他子句。MySQL 可以忽略这些条款。如果没有表,MySQL不需要来自DUAL 被引用


不过,我不确定这是真的。我认为可能需要使用where和group by子句。

关于你的最后一句话,我必须说是的,问题中有where子句,但没有。我的查询没有group by子句。。我必须分组吗?为什么?我不确定在选择一行常量数据时为什么要使用GROUP BY in。但是我认为你是对的,如果你有WHERE子句,你就需要它。@Stack但是你可以在上一个问题中使用另一个答案,你可以将第二个INSERT作为一个单独的查询来执行,而不是用这种复杂的方式来组合它们。是的,我在实际中使用了。现在我只是想发展我的知识。当我想插入新行时,您能告诉我什么时候应该使用GROUPBY吗?这是FROM子句。如果要有WHERE子句,则需要来自DUAL。基本上,如果你想在后面有任何其他子句,你需要一个FROM子句——WHERE、HAVING、GROUP BY等。关于你的最后一句话,我必须说是的,有你在问题中看到的WHERE子句,但我的查询没有GROUP BY子句。。我必须分组吗?为什么?我不确定在选择一行常量数据时为什么要使用GROUP BY in。但是我认为你是对的,如果你有WHERE子句,你就需要它。@Stack但是你可以在上一个问题中使用另一个答案,你可以将第二个INSERT作为一个单独的查询来执行,而不是用这种复杂的方式来组合它们。是的,我在实际中使用了。现在我只是想发展我的知识。当我想插入新行时,您能告诉我什么时候应该使用GROUPBY吗?这是FROM子句。如果要有WHERE子句,则需要来自DUAL。基本上,如果您想在后面有任何其他子句,您需要一个FROM子句——WHERE、HAVING、GROUP BY等。