Sqlite. Valores Por Defecto. Default


Objetivo: Sqlite. Valores Por Defecto. Default
Buenos días.

Tengo problemas para insertar un registro con un valor por defecto. Creo que he creado la tabla correctamente y
la inserción no parece equivocada.

CREATE TABLE libros(titulo text NOT NULL, autor text NOT NULL DEFAULT 'Desconocido', editorial text, precio int, cantidad int DEFAULT 0)

INSERT INTO libros ( titulo, autor, editorial, precio, cantidad) VALUES ('El gato con botas', DEFAULT , 'Omega', 20, 100)


El error que me muestra Sqliteman es:

Citar:

Query Error: near "default": syntax error Unable to execute statement


Estoy buscando en distintas webs, pero no he visto por ahora solución.
El ejemplo lo he visto aquí:

Valores por defecto

Saludos

Objetivo: Re: Sqlite. Valores Por Defecto. Default
En tu enlace ponen el default antes que el not null... pruébalo.

Perfil MP  
Objetivo: Re: Sqlite. Valores Por Defecto. Default
Shordi:

Me temo que no funciona.

Es más, copio y pego el código de la creación de la tabla, tal como la ves en la página.
Y luego copio y ejecuto la consulta de inserción. El error es el mismo.

Lo que no comprendo como en la consulta de inserción usa varios valores por defecto
cuando solo hay dos: autor y cantidad. Probé a inventarme una editorial y tampoco.

No he encontrado nada sobre el tema de valores por defecto en sqlite y eso que hay documentación
de sql a raudales. Como te digo sqlite, quiero decir tambien en sql.

Veo que te gastas una pasta en un libro y luego no aparece nada sobre esto.

¿ Tan complicado es eso ?.

Estoy barajando dos libros a comprar, ya los comentaré.

Saludos

Objetivo: Re: Sqlite. Valores Por Defecto. Default
Shell escribió: [Ver mensaje]

No he encontrado nada sobre el tema de valores por defecto en sqlite y eso que hay documentación
de sql a raudales. Como te digo sqlite, quiero decir tambien en sql.

Lo mejor es irse a la fuente. Aquí tienes información (más o menos) detalla en un perfecto inglés.
https://www.sqlite.org/lang_createtable.html

A destacar el título de la página "SQL tal como lo entiende SQLite", lo que demuestra que muy, muy estándar no es...


Saludos

última edición por shordi el Martes, 14 Junio 2016, 13:05; editado 2 veces
Perfil MP  
Objetivo: Re: Sqlite. Valores Por Defecto. Default
Bueno, me gustaría estudiar un estándar de SQL.

Es que en parte no tiene sentido que estudie MySQL cuando el único que usa el ordenador soy yo.
No hay bases de datos compartidas con otros pc's, ni claves, ni historias.

A ver si soluciono el problema "por defecto".

Saludos

Objetivo: Re: Sqlite. Valores Por Defecto. Default
Citar:
Es que en parte no tiene sentido que estudie MySQL cuando el único que usa el ordenador soy yo.


Me recuerdas a mi mujer cuando le regalé un portátil una navidad hace unos años, a ella, que nunca había tocado un ordenador:

"¿Para qué quiero yo un ordenador? Yo no uso ordenadores, no me hace falta para nada..."
Hoy día maneja sus cuentas del banco, su correo electrónico, busca y aprende recetas de cocina, ve películas, descarga e imprime patrones para sus labores manuales, hace la declaración de la renta... etc. etc.

Sé que no aspiras a hacerte un profesional del tema a estas alturas pero si manejas MySQL abrirás un montón de puertas. Podrás, por ejemplo, acceder y manejar los datos de un blog que te montes en internet desde gambas o crear tu propio blog, o hacer algún tipo de programa que puedas repartir por el mundo mundial... las posibilidades son infinitas.

Un ejemplo: lo último que he hecho en los programas del curro es que la configuración por defecto del programa, la que se graba en el settings la primera vez, no vaya incluída en el código, está en una tabla de una base de datos en internet. Eso permite ajustar las configuraciones a las circunstancias del ordenador y no cargar el ejecutable con peso innecesario.
Puede parecer enrevesado, pero es magnífico: vayas donde vayas a instalar tu programa tendrás las configuraciones correctas. También puedes usar una base de datos para el mantenimiento de versiones, para la instalación de programas (Puedes meter un .deb dentro de un campo .blob, por ejemplo), etc. etc. etc.

Os llama más el tema colorines y jueguitos y lo entiendo, pero las bases de datos son el alma de la informática y dominar su lenguaje es absolutamente imprescindible.

Perfil MP  
Objetivo: Re: Sqlite. Valores Por Defecto. Default
Shordi:

Bueno, antes de nada decirte que con algo más de tiempo y un mayor conocimiento del tema de base de datos con SQL,
no tengo ni idea hasta donde me gustará probar una cosa u otra.

En mi casa no se me ocurre usar redes. Un día intente una cosa y mi mujer se puede decir que me quitó las ganas.
Así que tendré que probar otra estrategia para que le guste tener una red local en casa.
¿ Conoces el dicho de...."si quieres ser feliz deja a tu mujer decir.." ?.

Ahora tengo la idea de no estudiar MySQL, por diversos motivos. Sqlite es fácil, es para comenzar. Ver como funciona.
Por algo habrá manuales de 500 paginas sobre sqlite.
Y es que también hablan muy bien de el. Con un poco de rodamiento y de uso, quien sabe.

Aunque he encontrado dos manuales en español de sql que comentaré en otro mensajes.
El problema de los libros por Internet, es que la mayoría están en ingles, al menos los mejores.

Pues te cuento la solución del problema. Cuando definimos la tabla de esta forma:

CREATE TABLE Televisores (Nombre TEXT DEFAULT 'Desconocido' , Precio INTEGER)


A la hora de insertar un registro tenemos distintas formas de hacerlo.
Yo podría haber hecho esto, que no funciona con valores por defecto.

INSERT INTO Televisores VALUES (default, 200)


Default de esta forma no lo entiende. Entonces, ¿ qué te parece si le decimos que no queremos insertar ningún valor en ese campo ?. Pues de esta forma también se puede ingresar un registro

INSERT INTO Televisores (Precio) VALUES (200)


Y con eso, ignora el campo Nombre y se inserta solo el precio.

valorpordefecto

Citar:

Os llama más el tema colorines y jueguitos y lo entiendo, pero las bases de datos son el alma de la informática y dominar su lenguaje es absolutamente imprescindible.


Te cuento un secreto. Cuando creo un videojuego a veces creo que estoy perdiendo el tiempo.
Distinto es aprender a programar creando un videojuego. Aprender jugando también es una buena forma de aprender.

¿ Sabes que tengo un libro "entero" de la creación del juego de los barquitos ?.
Comienza con cosas sencillas, hasta usar gráficos, sonidos , creación de componentes y....base de datos.

El libro tiene 412 páginas, a la vez que te enseña la creación y mejoras del videojuego te va mostrando las
posibilidades del lenguaje Visual Basic 6.

Pero. Te preguntas, ¿ quiero crear un juego de barquitos o quiero aprender a programar y conocer el lenguaje ?.
¿ puedo hacer las dos cosas a la vez ?.

Con algo de paciencia y tiempo todo se logra.

Citar:

"¿Para qué quiero yo un ordenador? Yo no uso ordenadores, no me hace falta para nada..."
Hoy día maneja sus cuentas del banco, su correo electrónico, busca y aprende recetas de cocina, ve películas, descarga e imprime patrones para sus labores manuales, hace la declaración de la renta... etc. etc.




Pues no sé si es mejor o peor, bueeeno de esa forma te deja tranquilo un rato.
Desde luego no le dejes que vea el foro de gambas que corres peligro.

Saludos

última edición por Shell el Martes, 14 Junio 2016, 19:34; editado 3 veces
Objetivo: Re: Sqlite. Valores Por Defecto. Default
Citar:
Pues no sé si es mejor o peor, bueeeno de esa forma te deja tranquilo un rato.
Desde luego no le dejes que vea el foro de gambas que corres peligro.


Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4681s (PHP: -77% SQL: 177%)
Consultas SQL: 47 - Debug off - GZIP Activado