ホームページ  >  に質問  >  本文

ここで Alter を使用するのは、Cast を使用する場合と比較して間違った選択ですか?

そこで、すべて varchar(255) を含むテーブルを作成し、CAST を使用してそれを UNSIGNED に変更することにしました (すべての値が正であるため)。確認すると無署名に変わっていました。しかし、テーブル全体を再度確認すると、列が依然として varchar として扱われていることに気付きました。

私の理解では、CAST は特定のコードでのみ機能し、永続的に変更されることはありません。列の型を永続的に変更したい場合は、以下に示すように ALTER を使用する必要がありますか?

もしそうなら、なぜ人々は ALTER ではなく CAST を使用するのでしょうか?

ああああ

P粉176203781P粉176203781402日前506

全員に返信(1)返信します

  • P粉004287665

    P粉0042876652023-09-14 14:35:15

    CAST はクエリ内の式の結果のみを変更します。データの保存方法を変更せずに、時々符号なし整数に変更したい場合は、CAST を使用できます。

    データの保存方法を変更する場合は、ALTER TABLE を使用する必要があります。

    MatchID は、特定の一致に対してのみ数値として表されると仮定します。他のコンテストでは、コンテストはアルファベットの文字列によって識別されます。この場合、列は特定のテーブル内のすべての行に同じデータ型で格納される必要があるため、列は varchar である必要があります。テーブルを変更しないでください。変更すると、数値以外の文字列がすべて 0 に相当する数値に変更されます。

    返事
    0
  • キャンセル返事