Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: nikko88 en 19 Junio 2012, 19:43 pm



Título: Problema con la creación de tablas SQL nivel básico.
Publicado por: nikko88 en 19 Junio 2012, 19:43 pm
Buenas, llevo un buen rato rompiéndome la cabeza con ésto, y no sé si estoy pasando por alto alguna cosa o qué.
Hace poco que he empezado a insertar sql en html y php, y estoy haciendo algunos ejercicios básicos, como éste en el que no sé qué me falla.

Estoy intentando crear una tabla con un valor en default de la siguiente forma:

$sel='create table dvds(
Título varchar(50),
Director varchar(30),
Anyo smallint,
Comentario varchar(100),
Idioma varchar(20),
Precio double,
Stock int default 1)';

El problema sólo me surje si pongo el parámetro default y no sé por qué.. me dice lo siguiente:

[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis en la instrucción CREATE TABLE.

Probando de crearla directamente en access no me deja y en mysql sí... no entiendo por qué...

Gracias de antemano.

Lo siento justo después de postearlo he visto que habría sido mejor postearlo en BBDD..


Título: Re: Problema con la creación de tablas SQL nivel básico.
Publicado por: ©rIsT0BÄl en 23 Junio 2012, 18:08 pm
estas usando el conector odbc?

Código
  1. $con= mysql_connect("localhost","usuario","pass");
  2.         if(!$con)
  3.                     {
  4.                       die(' No se ha podido conectar: '.mysql_error());}
  5.  
  6. $db= mysql_select_db("DB",$con);
  7.         if(!$db){
  8.                      die('No se ha podido seleccinar la DB: '.mysql_error());}
  9.  
  10. $sel='drop table if exist dvds;
  11. create table dvds(
  12. Título varchar(50),
  13. Director varchar(30),
  14. Anyo smallint,
  15. Comentario varchar(100),
  16. Idioma varchar(20),
  17. Precio double,
  18. Stock int unsigned default 1)';
  19.  
  20. $query= mysql_query($sel);
  21.  
  22.     if(!$query)
  23.         {
  24.             die('ha occurrido el siguiente error: '.mysql_error());
  25.         }
  26.  

Hay creo que solucione el error parece que faltaba poner "unsigned", es importante poner los If ya que con eso sabras que esta fallando.
Saludos!


Título: Re: Problema con la creación de tablas SQL nivel básico.
Publicado por: nikko88 en 25 Junio 2012, 17:48 pm
Gracias por contestar ©rIsT0BÄl, la cuestión es que el ejercicio lo estaba realizando sobre access y con conectores odbc, y leyendo por demás foros y tal vi que no se puede establecer un campo de una tabla de access con un valor en default, sino que tiene que hacerse mediante el proveedor OLE DB para Jet. No hay otra forma de hacerlo mediante querys de sql por lo que he leído.

Gracias de todas formas!