Problema con la creación de tablas SQL nivel básico.

Iniciado por nikko88, 19 Junio 2012, 19:43 PM

0 Miembros y 1 Visitante están viendo este tema.

nikko88

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..

©rIsT0BÄl

#1
estas usando el conector odbc?

Código (php) [Seleccionar]
$con= mysql_connect("localhost","usuario","pass");
        if(!$con)
                    {
                      die(' No se ha podido conectar: '.mysql_error());}
   
$db= mysql_select_db("DB",$con);
        if(!$db){
                     die('No se ha podido seleccinar la DB: '.mysql_error());}

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

$query= mysql_query($sel);

    if(!$query)
        {
            die('ha occurrido el siguiente error: '.mysql_error());
        }

mysql_close()


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!

nikko88

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!