MySQL 具有静态值的简单选择查询

问题描述 投票:0回答:1

遗憾的是,一个简单的选择查询剥夺了我的广度。我正在创建一个警报工具,它可以在数据库凭据过期时发出警报。该工具可以在 MSSQL 和 MySQL 上执行此操作。在 MySQL 中,我选择具有列默认值的列。如果该查询添加在 * 之后,则该查询有效。但如果在 *.

之前添加,则会引发语法错误

示例:

以下查询有效。

select  * , 'apple' from mysql.user

但是下面的查询出错了。

select  'app' , * from mysql.user

出现以下错误。

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*  from mysql.user' at line 1

请告诉我我的查询有什么错误。如果您对我的实际业务案例感兴趣,下面是我试图找到其对应的 MySQL 查询的 Oracle 查询。变量 {1}、{2} 等的值将从 C# 代码传递。

select 
                '{0}' as FK_APP_ID, 
                '{1}' as IP,
                '{2}' as ORA_SCHEMA,
                username as LoginName, 
                account_status as IsExpired, 
                to_date(expiry_date, 'dd-mm-yy') - to_date(SYSDATE, 'dd-mm-yy') as DaysUntilExpiration, 
                profile as Profile, 
                expiry_date as ExpiryDate from dba_users 
mysql select
1个回答
0
投票

在 MySQL 中,您不能在

*
查询中的
SELECT
之前放置静态值,这会导致语法错误。您可以按如下方式使用查询:

SELECT *, 'app' AS static_value FROM mysql.user;
© www.soinside.com 2019 - 2024. All rights reserved.