Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con sintaxis de IF NOT EXISTS

Estas en el tema de Problema con sintaxis de IF NOT EXISTS en el foro de Mysql en Foros del Web. Hola a Todos, estoy trabajando en el desarrollo de una aplicación con PHP/MySQL y tengo problemas con la sintaxis de IF NOT EXISTS. Ya he ...
  #1 (permalink)  
Antiguo 30/03/2011, 16:37
Avatar de Memochipan  
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 3
Problema con sintaxis de IF NOT EXISTS

Hola a Todos, estoy trabajando en el desarrollo de una aplicación con PHP/MySQL y tengo problemas con la sintaxis de IF NOT EXISTS. Ya he buscado por internet pero no he podido encontrar el problema.

Tengo que ingresar datos a una tabla solo si el proyecto ($db_project) no está ya en los registros del usuario, para eso uso este código:

Código:
$sql = "IF NOT EXISTS(SELECT Project FROM $projects_table WHERE UserID=$db_uid AND Project=$db_project)
INSERT INTO $projects_table (UserID, Project)
VALUES ('$db_uid','$db_project')";
Pero obtengo este mensaje de error:

Código:
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 'IF NOT EXISTS(SELECT Project FROM table_projects WHERE UserID=1 AND Project=' at line 1
Agradezco mucho cualquier colaboración.
  #2 (permalink)  
Antiguo 30/03/2011, 16:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema con sintaxis de IF NOT EXISTS

Estás confundiendo DBMSs. Ese tipo de construcción sintáctica no es de MySQL, si no me equivoco es de SQL Server, y no es ni siquiera ANSI SQL, por lo que se trata de una forma propia de Microsoft SQL Server.
En MySQL no existen las consultas condicionales como la planteas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 30/03/2011, 18:11
Avatar de Memochipan  
Fecha de Ingreso: agosto-2009
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema con sintaxis de IF NOT EXISTS

Gracias por tu respuesta. El código lo vi en un foro y me pareció lógico y muy parecido al formato de MySQL, de haber sabido que no lo era, no me hubiera desgastado tanto con el tema.

Ya lo resolví, aunque hubiera agradecido mucho una sintaxis más corta.

Código:
$sql = "SELECT COUNT(*) FROM $projects_table WHERE UserID = '$db_uid' AND Project  = '$db_project';";
mysql_select_db($db_name, $conex);
$result = mysql_query($sql,$conex);

if (@mysql_result($result,0,0)==0)  
{
	$sql = "INSERT INTO $projects_table (UserID, Project) VALUES ('$db_uid','$db_project')";
	mysql_select_db($db_name, $conex);
	mysql_query($sql,$conex);
}
Un Cordial Saludo.

Etiquetas: insert, php, sintaxis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.