Si el registro no exite agregarlo SQLite

  • Autor Autor Prospero
  • Fecha de inicio Fecha de inicio
Prospero

Prospero

Eta
Verificación en dos pasos activada
Insertar CODE, HTML o PHP:
$db->exec("INSERT INTO Logs (id, Dia, Visitas, VisitasA, VisitasB, VisitasC) VALUES (
    NULL,
    '$fecha',
    '$visitas',
    '$VisitasA',
    '$VisitasB',
    '$VisitasC') WHERE NOT EXISTS (select '".$fecha."' from Logs WHERE Dia='".$fecha."')");

Hola amigos, tengo este codigo que estoy tratando de hacer que si la fecha no exite que inserte nuevo registro en la slite con un id autoincrementado que esta. porque no funciona? alguien me puede tirar un centro?
 
Insertar CODE, HTML o PHP:
$db->exec("INSERT INTO Logs (id, Dia, Visitas, VisitasA, VisitasB, VisitasC) VALUES (
    NULL,
    '$fecha',
    '$visitas',
    '$VisitasA',
    '$VisitasB',
    '$VisitasC') WHERE NOT EXISTS (select '".$fecha."' from Logs WHERE Dia='".$fecha."')");

Hola amigos, tengo este codigo que estoy tratando de hacer que si la fecha no exite que inserte nuevo registro en la slite con un id autoincrementado que esta. porque no funciona? alguien me puede tirar un centro?
Aqui no tienes que seleccionar una culumna ??
ejemplo: (SELECT Dia FROM Logs WHERE Dia = '".$fecha."')
 
Aqui no tienes que seleccionar una culumna ??
ejemplo: (SELECT Dia FROM Logs WHERE Dia = '".$fecha."')
idolooooo!! como va!!

Insertar CODE, HTML o PHP:
$db->exec("INSERT INTO Logs (id, Dia, Visitas, VisitasA, VisitasB, VisitasC) VALUES (
    NULL,
    '$fecha',
    '0',
    '0',
    '0',
    '0') WHERE NOT EXISTS (SELECT Logs FROM Dia WHERE Dia='$fecha')");

con la correccion que usted me brindo. sale


Warning: SQLite3::exec(): near "WHERE": syntax error in C:\xampp\htdocs\vi\index.php on line 32

Warning
: Trying to access array offset on value of type bool in C:\xampp\htdocs\vi\index.php on line 41

Warning
: Trying to access array offset on value of type bool in C:\xampp\htdocs\vi\index.php on line 42

Warning
: Trying to access array offset on value of type bool in C:\xampp\htdocs\vi\index.php on line 43

Warning
: Trying to access array offset on value of type bool in C:\xampp\htdocs\vi\index.php on line 44
 

Adjuntos

  • fto.webp
    fto.webp
    10 KB · Visitas: 18
Pero lo pusite mal, es (SELECT Dia FROM Logs WHERE Dia = '".$fecha."')
no (SELECT Logs FROM Dia WHERE Dia='$fecha')
 
Pero lo pusite mal, es (SELECT Dia FROM Logs WHERE Dia = '".$fecha."')
no (SELECT Logs FROM Dia WHERE Dia='$fecha')
Insertar CODE, HTML o PHP:
$db->exec("INSERT INTO Logs (id, Dia, Visitas, VisitasA, VisitasB, VisitasC) VALUES (
    NULL,
    '$fecha',
    1,
    1,
    1,
    1) WHERE NOT EXISTS (SELECT Dia FROM Logs WHERE Dia='$fecha')");

si si lo correji y no el mismo error.
 
Insertar CODE, HTML o PHP:
$db->exec("INSERT INTO Logs (id, Dia, Visitas, VisitasA, VisitasB, VisitasC) VALUES (
    NULL,
    '$fecha',
    1,
    1,
    1,
    1) WHERE NOT EXISTS (SELECT Dia FROM Logs WHERE Dia='$fecha')");

si si lo correji y no el mismo error.
Ejecutalo directo a ver si funciona.

SQL:
INSERT INTO Logs (Dia, Visitas, VisitasA, VisitasB, VisitasC)
VALUES ('21-12-22', 1, 1, 1, 1) WHERE NOT EXISTS (SELECT Dia FROM Logs WHERE Dia = '21-12-22')
 
Ejecutalo directo a ver si funciona.

SQL:
INSERT INTO Logs (Dia, Visitas, VisitasA, VisitasB, VisitasC)
VALUES ('21-12-22', 1, 1, 1, 1) WHERE NOT EXISTS (SELECT Dia FROM Logs WHERE Dia = '21-12-22')

Warning: SQLite3::exec(): near "WHERE": syntax error in C:\xampp\htdocs\visitasx\index.php on line 26
 
Warning: SQLite3::exec(): near "WHERE": syntax error in C:\xampp\htdocs\visitasx\index.php on line 26


como no entiendo bien el WHERE NOT EXISTS pregunto, un registro nuevo deberia agregar una linea no esta buscando el dia 21 12 22 pero no existe. entonces no lo encuentra?
 
como no entiendo bien el WHERE NOT EXISTS pregunto, un registro nuevo deberia agregar una linea no esta buscando el dia 21 12 22 pero no existe. entonces no lo encuentra?
Nunca eh usado WHERE NOT EXISTS, pero por lo que veo si no existe el registro deberia insertar.
 
jajaajja exactamente dije lo mismo jajaja
Solucion:

Insertar CODE, HTML o PHP:
INSERT INTO  Logs(id, Dia, Visitas, VisitasA, VisitasB, VisitasC) SELECT NULL, '$fecha', 1, 1, 1, 1 FROM Logs WHERE NOT EXISTS (SELECT Dia FROM Logs WHERE Dia = '".$fecha."')
 
Atrás
Arriba