CREATE DEFINER=`aduser`@`%` PROCEDURE `deluserdata`()
begin
truncate table t_char;
truncate table t_pshop;
truncate table t_relation;
update t_var set maxusid=1010000000;
end;
没有怎么接触过mysql,不知这样写有没有问题,主要是清空三个表,修改一个表中的字段值

解决方案 »

  1.   

    CREATE DEFINER=`aduser`@`%` PROCEDURE `deluserdata`()
    红颜色的是系统自己加上去的,那个%代表什么啊?
      

  2.   

    可以这样写,没有问题`aduser`@`%`
    这个跟分配用户帐号里的'%'是一样的概念
    表示访问的机器
      

  3.   

    mysql 中的用户账号是由两部分组成  username@hostname, 也就是说 admin@locahost 和 [email protected] 是不同的用户。同一个admin 到不同的机器上则为不同的用户。admin@% %为通配符,当用户在一台未注册的机器上登录时,则将当前用户视为 admin@%http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#privilege-system
    5.7. MySQL访问权限系统
    5.7.1. 权限系统的作用
    5.7.2. 权限系统工作原理
    5.7.3. MySQL提供的权限
    5.7.4. 与MySQL服务器连接
    5.7.5. 访问控制, 阶段1:连接核实
    5.7.6. 访问控制, 阶段2:请求核实