Например - я создаю базу данных и таблицу из cli и вставляю некоторые данные:
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');
Теперь я могу сделать это, и эти примеры работают (поэтому - кавычки не влияют ни на что, кажется):
SELECT * FROM test WHERE id = '9';
INSERT INTO test VALUES ('11', 'some string');
Итак - в этих примерах я выбрал строку с помощью строки , которая фактически сохранена как INT в MySQL, а затем я вставил строку встолбец INT.
Я не совсем понимаю, почему это работает так, как работает здесь.Почему в столбец INT допускается вставка строки?
Могу ли я вставить все типы данных Mysql в виде строк?
Стандартно ли это поведение в разных СУБД?
спасибо!