以下查询适用于MySql 5.0
SELECT SQL_NO_CACHE
ItemId,
AnotherColumn
FROM
TableOne
UNION
SELECT SQL_NO_CACHE
ItemId,
AnotherColumn
FROM
TableTwo
Run Code Online (Sandbox Code Playgroud)
但在MySql 5.5中我收到以下错误:
MySql.Data.MySqlClient.MySqlException:'SQL_NO_CACHE'的使用/位置不正确
对于UNION查询,SQL_NO_CACHE的正确位置是什么?
如果我将SQL_NO_CACHE放在UNION的一侧,它会影响双方吗?
从MySql 5.5.3开始,您只需要在UNION查询的第一个SELECT中指定SQL_NO_CACHE:
SELECT SQL_NO_CACHE
ItemId,
AnotherColumn
FROM
TableOne
UNION
SELECT
ItemId,
AnotherColumn
FROM
TableTwo
Run Code Online (Sandbox Code Playgroud)
它适用于整个查询.如果您尝试在后续的SELECT语句中指定它,则会出错(现在也允许在子查询中使用).