sql >> データベース >  >> RDS >> Mysql

mysqlフィールドタイプをINTからVARCHARに変更すると、以前にINTとして保存されたデータにどのように影響しますか

    列タイプを変更する前にMySQLサーバーを厳密モードにし、varchar(n)を確認してください 列に十分な大きさのnがあります 文字列に変換されるときにすべての整数を保持します。厳密モードでない場合、MySQLはデータをサイレントに切り捨てます文字列のサイズに合わせて

    ただし、厳密モード 最初:

    mysql> set sql_mode = 'STRICT_ALL_TABLES';
    mysql> alter table table_sample change col_sample col_sample varchar(6);
    

    次のようなエラーメッセージが表示されます:

    ERROR 1406 (22001): Data too long for column 'col_sample' at row ...
    

    整数がすべてvarcharに収まらない場合 。

    そしてもちろん、テーブルを変更する前に、データベースの新しい検証済みバックアップがあります。そして確認済み バックアップをテストデータベースに正常に復元したことを意味します。




    1. PreparedStatementでのsetDateの使用

    2. SQL Serverのテーブルで最適な一意の識別子を見つける方法:sp_special_columns

    3. LEFTOUTERJOINクエリが予期された行を返さない

    4. PL / SQLでスレッドを使用できますか?