• ¿Quieres apoyar a nuestro foro haciendo una donación?, entra aquí.

Hacer Insert Si No Hay Datos En Tabla

Registrado
2010/09/08
Mensajes
1.903
Sexo
Macho
me explico tengo una tabla llamada accesos y ella ase referencia a otras tablas.

y tengo una funcion que ya esta funcionando la cual hace update a la tabla accesos
el punto es cuando se crea un nuevo perfil

debo hacer un insert a la tabla accesos para ingresar este nuevo perfil creado

aca la tabla
Código SQL:
Código:
CREATE TABLE "web"."acceso" (
  "perfil_id" SMALLINT NOT NULL, 
  "modulo_id" SMALLINT NOT NULL, 
  "menu_id" SMALLINT NOT NULL, 
  "submenu_id" SMALLINT NOT NULL, 
  "activo" SMALLINT NOT NULL, 
  "permiso" SMALLINT DEFAULT 3 NOT NULL, 
  CONSTRAINT "acceso_pkey" PRIMARY KEY("perfil_id", "modulo_id", "menu_id", "submenu_id"), 
  CONSTRAINT "acceso_perfil_id" FOREIGN KEY ("perfil_id")
    REFERENCES "web"."perfil"("perfil_id")
    ON DELETE RESTRICT
    ON UPDATE RESTRICT
    NOT DEFERRABLE
) WITHOUT OIDS;


alguna idea de como hacerlo???

como ago que el insert se inicie cuando no exista un perfil en la tabla????
alguna funcion o con un simple if?????
 
no entendi muy bien

de lo que se sql no acepta codicionales, estas trabajando sobre algun otro lenguaje?? php, asp?

saludos!
 
logre algo pero al hacer algunos insert

me tira un warning ql

Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: llave duplicada viola restricción de unicidad «acceso_pkey» in C:\xampp\htdocs\inercom\include\DB_server.php on line 83
Database error: Invalid SQL: insert into web.acceso(perfil_id, modulo_id, menu_id, submenu_id, activo, permiso) values('11', '7', '14', '68', '0', '1')
PostgreSQL Error: 1 (ERROR: llave duplicada viola restricción de unicidad «acceso_pkey»)
 
me pillaste con el código, no se si exista un comando nativo que te verifique si la tabla esta vacía, pero lo que puedes hacer es contar los elementos de la tabla y si son 0 entonces la tabla esta vacía :D

Código:
<?
// te tenes que conectar y seleccionar la Base de Datos con mysql_select_db

$vacio = mysql_query('select * from acceso');

if (mysql_fetch_array($vacio) == '0'){
// aqui haces el insert o las cosas que necesites
}
else {
// si llega a este punto, la tabla contiene datos
}
?>

saludos!! perdón la demora
 
exelente compañero!

sole como tenia 2 sql a consultar
los defini con uns $_POST correspondiente
y funciono altokemon

=)


se agradece mil! :rolleyes:
 
Volver
Arriba