Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2008, 08:52
shilen79
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Preguntas básicas sobre php-mysql

Buenas!

Aquí seguimos una vez más indagando por este mundillo y bloqueandonos de nuevo .

He empezado a trastear con la interaccion con base de datos mysql y pensaba que no me atrancaria tan pronto pero no ha sido así.

Estoy haciendo unas pruebas para entender mejor el funcionamiento y me ha pasado lo siguiente:
Código:
CREATE DATABASE IF NOT EXISTS test;
CREATE TABLE IF NOT EXISTS test.users(
		id INT NOT NULL AUTO_INCREMENT,
		nombre  VARCHAR(20), telefono INT UNSIGNED,
		email VARCHAR(40) NOT NULL, PRIMARY KEY(id) )TYPE=MyISAM;

INSERT INTO users VALUES (NULL, 'pablo', '679834648', '[email protected]');

INSERT INTO users VALUES (NULL , 'pablo', '645512034', NULL),
										(NULL , 'juan', '616548795', '[email protected]'),
										(NULL , 'antonio', '645786521', '[email protected]'),
										(NULL, 'alesia', '967605050', '[email protected]');
Como podreis ver, al campo email , le he puesto NOT NULL como parametro , puesto que quiero obligar que no pueda ser un campo nulo.

En la primera fila del INSERT grande, le pongo de valor NULL y me lo coge perfectamente, apareciendo un campo vacio en el cuando se supone que no deberia ser asi. Al igual , si en vez de poner NULL , pongo ' ', pasa exactamente lo mismo .

¿No deberia darme un error? O me esta tomando como valor un caracter vacio y lo acepta? Es que no llego a comprenderlo muy bien eso.

Es decir NULL en sí es un valor , y '' es el caracter vacio , debo suponer, entonces cuando me dara error?



Mi segunda pregunta es acerca del cotejamiento. Cuando creo la tabla con sus campos, por defecto el cotejamiento de los campos VARCHAR es swedish_ci.

¿Que cotejamiento es el correcto y como puedo agregarlo desde la creacion de la tabla?



Por ultimo es el tipo de la tabla, la creo como MyISAM pero por defecto las crea como InnobDB. He leido que correcto definirla con el tipo MyISAM pero no he encontrado explicacion del por qué , del uso y demas.


Espero puedan resolverme mis 3 dudas, y a ver si en un tiempo puedo ayudarles como me ayudan . Un saludo y gracias :).

Última edición por GatorV; 19/03/2008 a las 09:21