home Foro de soporte Servicio Hosting MySQL
 
Problema al crear una tabla
Haz clic para ver el perfil del usuario
Usuario Novato
Usuario Novato
·
#1 ·

Pues nada deseo de crear una tabla a traves de un php en el cual tiene todo el codigo de creado de tabla y resulta que me sale este error.

Access denied; you need the SUPER privilege for this operation

resulta que este codigo tiene un Trigger y creo que es por eso por lo que no me deja porque el resto de tablas si me a dejado pero en esta no.

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#2 · ·

Es muy posible que no sea el código de Php el que genera ese error sino el Sql; puedes postearlo?

--

Intenta solo la tabla (estructura) y -si tienes- datos. De funcionar es el trigger.

____________________

Agrego: postea el código Php + SQL (no todo el script, sino donde intenta crear la tabla).

Haz clic para ver el perfil del usuario
Usuario Novato
Usuario Novato
·
#3 ·

Uno de esos codigos es este

if (!mysql_query($query)) {
        echo "<tr class=\"firstcolor\"><td style=\"padding-left:10px;\">Table: $playertable (Trigger 1)</td><td class=\"failure\">failure</td></tr>\n";
        echo "<tr class=\"firstcolor\"><td style=\"padding-left:10px;\" class=\"failure\" colspan=\"2\">".mysql_error()."</td></tr>\n";
        $error_occured = true;
    } else {
        echo "<tr class=\"firstcolor\"><td style=\"padding-left:10px;\">Table: $playertable (Trigger 1)</td><td class=\"success\">success</td></tr>\n";
    }

    $query ="CREATE TRIGGER players_au AFTER UPDATE ON $playertable
  FOR EACH ROW BEGIN
    INSERT INTO $playerhistory SET
        year = DATE_FORMAT(NOW(),'%Y'),
        month = DATE_FORMAT(NOW(),'%m'),
        day = DATE_FORMAT(NOW(),'%e'),
        player_id = NEW.id,
        alliance_id = NEW.alliance_id,   
        rank = NEW.rank,
        points = NEW.points,
        frank = NEW.frank,
        fpoints = NEW.fpoints,
        rrank = NEW.rrank,
        rpoints = NEW.rpoints
    ON DUPLICATE KEY UPDATE
        rank=valueS(rank), points=VALUES(points),
        frank=valueS(frank), fpoints=VALUES(fpoints),
        rrank=valueS(rrank), rpoints=VALUES(rpoints);       
  END";

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#4 · ·

Me estaba viniendo a la memoria que hace tiempo atrás hubo un tema sobre problemas con trigers, pero no logro recordar el porque no se podía. Así que hay que buscar en la fuente:

Spoiler:

Note: Prior to MySQL 5.1.6, CREATE TRIGGER always requires the SUPER privilege, so only the second of the preceding rules applies.MySQL takes the DEFINER user into account when checking trigger privileges as follows:At CREATE TRIGGER time, the user who issues the statement must have the TRIGGER privilege. (SUPER prior to MySQL 5.1.6.)At trigger activation time, privileges are checked against the DEFINER user. This user must have these privileges:The TRIGGER privilege. (SUPER prior to MySQL 5.1.6.)The SELECT privilege for the subject table if references to table columns occur using OLD.col_name or NEW.col_name in the trigger definition.The UPDATE privilege for the subject table if table columns are targets of SET NEW.col_name = value assignments in the trigger definition.Whatever other privileges normally are required for the statements executed by the trigger.For more information about trigger security, see Section 18.6, “Access Control for Stored Programs and Views”.

La url con el texto completo es: http://dev.mysql.com/doc/refman/5.1/en/create-trigger.html

Es por falta de privilegios sobre la base de datos del propio espacio.

Haz clic para ver el perfil del usuario
Usuario Novato
Usuario Novato
·
#5 ·

Entonces no se puede hacer nada verdad?

al no tener super privilegios

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#6 ·

Hasta donde la interpretación, no se puede.

En MySql de webcindario somos usuarios con todos los derechos sobre la base de datos, pero no de super.

Haz clic para ver el perfil del usuario
Usuario Novato
Usuario Novato
·
#7 ·

ok muxas gracias, ahora creo, no lo se, el trigger se rige bajo una tabla en mysql si yo creo esa tabla para no asi acceder a ella bajo super tu crees que servira.

Haz clic para ver el perfil del usuario
@man / @woman
@man / @woman
· ·
#8 ·

Se me ocurre, y todo depende de si tienes control y programas codigo Php, incluir la tabla (= estructura o adaptada) y lanzar la inserción de registros desde Php (luego de la actualizacion del registro), entonces quedaría como un registro de cambios.

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Foro de soporte · Servicio Hosting · MySQL
Opciones:
Subscríbete a este tema
Date de baja de este tema
Ir al subforo:  
TU NO PUEDES Escribir nuevos temas en este foro
TU NO PUEDES Responder a los temas en este foro
TU NO PUEDES Editar tus propios mensajes en este foro
TU NO PUEDES Borrar tus propios mensajes en este foro
Ahora son las 09:59 UTC+02:00 DST
Temas similares
 I TemaAutorMensajesVisitasÚltima respuesta
No Hay mensajes nuevos08/Ago/2015, 23:15
278409/Ago/2015, 13:52
 Ir al último mensaje del tema
No Hay mensajes nuevos01/Abr/2009, 03:00
35k02/Abr/2009, 18:47
 Ir al último mensaje del tema
No Hay mensajes nuevos31/May/2008, 21:59
55k03/Jun/2008, 19:39
 Ir al último mensaje del tema
No Hay mensajes nuevos27/Nov/2007, 13:20
080927/Nov/2007, 13:20
 Ir al último mensaje del tema
No Hay mensajes nuevos25/Abr/2006, 17:09
15k25/Abr/2006, 18:21
 Ir al último mensaje del tema