如何实例化用户@Variables?

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

mariaDb命令shell中,如何将@var(例如@var)的用户变量插入后续命令中? 到目前为止 ,例如,如何使用用户变量@VAR将预用的密码提供给

SELECT @var;
(使用

auth_ed25519

MariadB插件)?

CREATE USER
我使用INSTALL SONAME 'auth_ed25519'; # one time ... set @hash = 'ZIgUREUg5PVgQ6LskhXmO+eZLS0nC8be6HPjYWR4YJY'; # OK CREATE OR REPLACE USER username@hostname IDENTIFIED VIA ed25519 USING @hash; -->You have an error in your SQL syntax

而不是仅仅
(@hash)

@hash

来获得相同的错误。
使用
'@hash'
我得到“密码哈希应该是43个字符长”
因此,这可能会提供文字字符串“ @hash”而无需插值。同上与
"@hash"
@variables如何工作?
提前感谢您的任何建议。
addendum:我尝试使用

PREPARE

EXECUTE

实例化字符串值,但无法获得第一垒:


PREPARE stmt FROM 'CREATE OR REPLACE USER username@hostname IDENTIFIED VIA ed25519 USING ?'; -->You have an error in your SQL syntax

(文档明确地说,即使预期字符串值也不应在引号中,所以我也很困惑...)
	
使用者变量只能在SQL的某些地方用作表达式,而不是一般的替代。

要在其他地方使用它们,您可以将它们连接到字符串中,并将它们作为准备的语句执行。因为您只需要一次执行此操作,因此即时
执行是简单的。
?

注意双引号是一个逃脱的单报价。
    

sql mariadb
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.