MySQL はどのような状況で型を TINYINT に変換しますか? mysql DDL の BOOL または BOOLEAN 型は、true または false に対して自動的に TINYINT(1) に変換されることを知っています。あるテーブルのフィールドに varchar(16) のタイプがあり、別のテーブルの同じフィールドに tinyint(4) のタイプがあるデータベースを分析していますか? たとえば、t1.name varchar(15) および t2.name tinyint(4) の場合、t1.name=t2.name です。
1850 次
1 に答える
1
暗黙の型変換に頼らず、手動でデータ型分析を行ってください。
最初に、MySQL がデータに最適な col-type と考えるものを見てみましょう。を実行します
SELECT * FROM table PROCEDURE Analyse()
と言って、データをさらに分析します
SELECT * FROM table WHERE varcharCol NOT REGEXP '^[0-9].*$'
varcharCol の数値以外の値をすべて取得します。そうでない場合は、最終的にさまざまな MySQL タイプの値の範囲をここで確認する必要があります。
次に、varcharCol を TINYINT などに変換する準備が整いました。
于 2014-09-25T11:50:05.357 に答える