たとえば、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');
したがって、これらの例では、実際にmysqlにINTとして格納されている文字列で行を選択してから、INTである列に文字列を挿入しました。
なぜこれがここで機能するのかよくわかりません。INT列に文字列を挿入できるのはなぜですか?
すべてのMySQLデータ型を文字列として挿入できますか?
この動作は、さまざまなRDBMS間で標準ですか?