我想执行一条CREATE USER语句,但是仅当用户不存在时才执行。: Q1 W" U( Z& |% F! E
最好的方法是什么?- W9 b' ^) @8 z4 d) v4 M# U3 r
@+ F4 b' e7 M- l& T0 T7 q1 r解决方案:" ~: R' Q u7 K8 a
: X7 D- L Z4 [8 o$ I, g# W' h4 D! o# a6 r
4 O3 n7 n$ ^5 V* _4 b0 _2 f 如果要创建用户,则还需要创建一个授权。如果授权不存在,则该授权会隐式创建一个用户(这就是为什么鼓励您在创建授权时包括密码,以防万一它们不存在的原因)。参见http://dev.mysql.com/doc/refman/5.1/en/grant.html4 q' h7 ~4 f) O: I+ R5 z# z# g
因此,一种选择是仅创建授予(使用密码),然后隐式创建用户。- F& T2 |- R+ I" O' U/ p0 u
例如:* c/ Z: a4 H+ U% Q5 b# J9 R+ G% z& R
GRANT ALL PRIVILEGES ON db_name.* : U# @: ?2 z6 J
TO 'user'@'%' IDENTIFIED BY 'password' # d- d) n( g5 B) T
WITH GRANT OPTION;