Se o registro não existe, adicioná-lo ao SQLite

  • Autor Autor Prospero
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Prospero

Prospero

Eta
Verificación en dos pasos activada
Inserir CODE, HTML ou 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?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Inserir CODE, HTML ou 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!!

Inserir CODE, HTML ou 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
 

Anexos

  • fto.webp
    fto.webp
    10 KB · Visitas: 25
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')
Inserir CODE, HTML ou 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.
 
Inserir CODE, HTML ou 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:

Inserir CODE, HTML ou 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."')
 
Voltar
Topo