3

char(9) という列があります。char(10)に増やしたいです。それは私のデータベースを台無しにしますか?データベースに問題なく、そのように増やすことはできますか? ありがとう。

4

3 に答える 3

3

列を から に変更するchar(9)char(10)、MySQL はテーブル全体を再構築し、既存の値の右側に単一のスペースを埋め込みます。実行時間は、再構築によるテーブルのサイズに依存するため、適切に計画してください。

于 2012-05-18T16:01:38.070 に答える
3

char 列が 9 文字であることに依存しない限り。ほとんどの場合、これで問題ありません (データベースが機能し続けるという点では問題ありません) が、ソフトウェアが列幅を何かに使用しているかどうかを慎重に検討する必要があります。

たとえば、ソフトウェアがすべての値が 9 文字であると想定している (そして文字列をトリミングしていない) 場合、問題が発生する可能性があります。

可変長データには varchar をお勧めします

于 2012-05-18T15:59:41.673 に答える
1

これを試しただけで、Bomb Squad を呼び出す必要はありませんでした (笑):

ALTER TABLE `mytable` CHANGE `myfield` `myfield` CHAR(10) CHARSET latin1 COLLATE latin1_swedish_ci NULL; 
于 2012-05-18T16:00:59.660 に答える