Estoy ejecutando MySql
en ubuntu 10.10
. Creé una tabla llamada 'employee'
que tiene 3 nombres de campo empno, nombre y salario. Algunas pocas entidades insertadas. En el medio del proceso quiero cambiar el atributo de salario como 'NOT NULL'
. Me alterar la tabla como¿Por qué MySQL permite actualizar una columna NOT NULL a NULL?
ALTER TABLE employee MODIFY salary int(10) NOT NULL;
consulta ejecutada. Quería poner a prueba mediante el uso de comandos,
UPDATE employee SET salary=NULL;
Query OK, 15 rows affected, 15 warnings (0.06 sec)
Rows matched: 15 Changed: 15 Warnings: 15
también dio advertencias " (Code 1048): Column 'salary' cannot be null "
(repite para cada fila)
pero cuando vi mi mesa, todos los salarios eran ceros ('0'
).
mismas consultas dan lugar a error en lugar de la advertencia en MySQL de WINDOWS XP
me registré ambos motores InnoDB como MyISAM, pero mismo resultado. Por favor, ayúdenme a saber qué sucedió al lado del procesamiento.
¿Cuál es tu pregunta? Establece su campo en 'not null' y lo establece en NULL. De manera predeterminada, será '0' como se espera. ¿Qué están haciendo en Windows según usted? ¿Configurando el campo a 'NULL'? Eso sería raro. – Nanne
¿Qué quiere decir exactamente con "trabajar bien en' XP' "? – Quassnoi
@Nanne y @Quassnoi En Windows no permite valores nulos actualizar y muestra los salarios originales, pero aquí muestra todos los ceros. Sí, puede ser raro, pero para mí los resultados fueron inesperados. :) – kik