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

MySqlワークベンチでタイムスタンプとして列を設定しますか?

    編集

    MySQL 5.6.4以降、データ型TIMESTAMP(n) nを指定します (0から6まで)小数秒の精度の10進数。

    MySQL 5.6より前では、MySQLはTIMESTAMPの一部として保存された秒数をサポートしていませんでした データ型。

    参照: https://dev.mysql.com/doc /refman/5.6/en/fractional-seconds.html

    TIMESTAMPで長さ修飾子を指定する必要はありません 。 TIMESTAMPを指定するだけです 単独で。

    ただし、最初のTIMESTAMP テーブルで定義された列は、自動初期化と更新の対象になります。例:

    create table foo (id int, ts timestamp, val varchar(2));
    
    show create table foo; 
    
    CREATE TABLE `foo` (
    `id` INT(11) DEFAULT NULL,
    `ts` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `val` VARCHAR(2) DEFAULT NULL
    ) 
    

    データ型に続く括弧に何が入るかは、データ型が何であるかによって異なりますが、一部のデータ型では、長さ修飾子です。

    一部のデータ型では、長さ修飾子は、格納できる値の最大長に影響します。例:VARCHAR(20) 最大20文字まで保存できます。そしてDECIMAL(10,6) 小数点の前に4桁、小数点の後に6桁の数値があり、有効範囲は-9999.999999〜9999.999999です。

    他のタイプの場合、長さ修飾子は、格納できる値の範囲に影響を与えません。例:INT(4) およびINT(10) は両方とも整数であり、両方とも整数データ型で許可される値の全範囲を格納できます。

    その場合、その長さ修飾子が行うことは単なる情報です。基本的に、推奨される表示幅を指定します。クライアントはそれを利用して、列の値を表示するために行に予約するスペースの量を決定できます。クライアントはそれを行う必要はありませんが、その情報は利用可能です。

    編集

    TIMESTAMPの長さ修飾子は使用できなくなりました データ・タイプ。 (本当に古いバージョンのMySQLを実行していて、それが受け入れられた場合、それは無視されます。)



    1. flake8は、フィルター句のブール比較==に文句を言います

    2. MariaDB USER()の説明

    3. MicrosoftPowerBIでのデータの視覚化

    4. クエリを介してMySQLでデータベース構造を取得する方法