varchar(50) フィールドを整数に置き換える、クリーンアップされたテーブルを作成しようとしています。元のフィールドには、0 または null 値に変換したいテキスト値がときどきあります。これは select ステートメントで問題なく実行できますが、テーブルを作成しようとするとエラーが発生します。
以下は、文字列を使用する最小限の例です。
/* This works */
DROP TABLE IF EXISTS mytest;
CREATE TABLE mytest
AS
SELECT convert("123", unsigned) AS mynum;
/* This works, returning a row of 0 */
SELECT convert("TEST", unsigned) AS mynum;
/* But this fails, with: Truncated incorrect INTEGER value: 'TEST'*/
DROP TABLE IF EXISTS mytest;
CREATE TABLE mytest
AS
SELECT convert("TEST", unsigned) AS mynum;`
上記の何が問題なのですか?私が望むことを達成するためのより良い方法はありますか? 助けてくれてありがとう。