Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: cobein en Septiembre 22, 2009, 03:45:32 am
-
Holi Holas, tengo un problema con sqlite3, quiero insertar varias lineas a vez pero me tira un error de sintaxis.
Lo que hago es esto:
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivo,Gata) ,(1,Ivito,Gatito)
Pero no me esta funcionando, por lo que lei el query se arma asi pero no me funciona con mas de una fila a la vez.
Si alguno me puede decir que estoy haciendo mal seria increible.
-
Hola cobein. No puedes hacer varias lineas a la vez.
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivo,Gata);
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivito,Gatito);
es lo que deberías hacer.
Saludos
-
hola tambien creo que es como dice ssccaan, fijate por las dudas el id si no es autonumerico.
Saludos
-
Hasta donde tengo entendido SQL ... 8 soporta ese tipo de queries, lo que no se es si Sqlite3 lo hace.
-
Hola, el tipo de insert es valido, existe, pero no para todos los motores, por ejemplo para Access no sirve pero si para MySQL..SQL Server no probe ahora me voy a dormir ;), puede ser que SQL Lite no tome esa forma. igualmente fijate lo que te dice leandro, porque si el campo id es clave, te va a tirar error porque hay 2 id iguales.
PD: ivito ¿ gata ? 8) :D
saludos.
-
OK, gracias a todos, debe ser que no funciona en Sqlite3 porque no tengo ningun campo autonumerico ni nada por el estilo.
-
Cobein, fijate...
Para access no funciona...
MySQL si funciona
Sql Server si funciona
pero SQLite3 no lo sé.
Un ejemplo
INSERT INTO tbl_users (ID,USER) VALUES (1,'ADMIN'), (2,'USER'), (3,'CONT'), (4,'NOMIN'), (5,'SUPORT');
ese query funciona y es valido, pero depende del motor de BD que uses.
-
Si, creo que el problema es que Sqlite3 no soporta esa sintaxis.. es raro porque se supone que totalmente compatible con SQL... bueno voy a ver como lo soluciono.
Mi problema no es hacer un loop para ingresar los datos sino el tema de ingresarlo y hacer un update por cada uno, eso hace que la DB se escriba en por cada cambio y se me pone lento el proceso porque estoy volcando los datos en un FlashDrive, si pudiera hacer todos los cambios en una accion la DB se volcaria una sola vez dandome muchisima mas velocidad (Sqlite3 usa un cache en memoria para hacer esto), por ejemplo si borro varios registros con un loop me toma varioas segundos contra borrar todos en una accion que toma menos de uno.
-
Hola cobein. No puedes hacer varias lineas a la vez.
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivo,Gata);
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivito,Gatito);
es lo que deberías hacer.
Saludos
yo que tengo que ver aca puto
-
Hola cobein. No puedes hacer varias lineas a la vez.
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivo,Gata);
INSERT INTO tabla (id,nombre,apellido) VALUES (1,Ivito,Gatito);
es lo que deberías hacer.
Saludos
yo que tengo que ver aca puto
Fijate que fue Cobein quien estuvo preguntando por el Insert... Negro Feo...!