mysql - números de cotação ou não?

Por exemplo - eu crio o banco de dados e uma tabela do cli e insiro alguns dados:

CREATE DATABASE testdb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
USE testdb;
CREATE TABLE test (id INT, str VARCHAR(100)) TYPE=innodb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
INSERT INTO test VALUES (9, 'some string');

gora, eu posso fazer isso e esses exemplos funcionam (as aspas não afetam nada que parece

SELECT * FROM test WHERE id = '9';
INSERT INTO test VALUES ('11', 'some string');

Então, nesses exemplos, selecionei uma linha porcord que realmente armazenou como INT no mysql e depois inseri umcord em uma coluna que é INT.

Não entendo muito bem por que isso funciona da maneira que funciona aqui. Por que a string pode ser inserida em uma coluna INT?

Posso inserir todos os tipos de dados Mysql como string

ste comportamento é padrão em diferentes RDBM

obrigado

questionAnswers(8)

yourAnswerToTheQuestion