1

次のようにSQLcreateステートメントがある場合。

CREATE TABLE TABLENAME12
(
  TAB_ID INT NOT NULL AUTO_INCREMENT,
  NAME_FIRST NVARCHAR(200),
  TYPE NVARCHAR(200),
  PRIMARY KEY( TAB_ID )
);

それに値を挿入したい場合は、私も入力する必要がありTAB_IDますか?自動インクリメントなので。

INSERT INTO SWM_SALES_FEEDBACK VALUES (1,'Jerry','ty');主キーを指定しないと挿入されるとINSERT INTO SWM_SALES_FEEDBACK VALUES ('Jerry','ty');、次のエラーが発生します。

ERROR 1136 (21S01): Column count doesn't match value count at row 1

1.)自動インクリメントされない場合にAUTO_INCREMENTを使用するポイントは何ですか。2.)次のフィールドがある場合:

BIRTH_TIME DATE,

DATEこのフィールドはタイプなので、どのように値を挿入する必要がありますか

4

6 に答える 6

6

1)テーブルの列の順序を尊重する必要があります。次のいずれかを実行できます。

INSERT INTO SWM_SALES_FEEDBACK VALUES (null, 'Jerry','ty');

また

INSERT INTO SWM_SALES_FEEDBACK (NAME_FIRST, TYPE) VALUES ('Jerry','ty');

2)日付列には「2012-07-24」形式を使用できます。

于 2012-07-24T13:26:12.227 に答える
3

自動インクリメントでは、列を指定する必要があります

INSERT INTO tablename12 ('name_first','type') values ('Jerry','ty')
于 2012-07-24T13:26:22.617 に答える
2

すべての列に挿入するわけではない場合は、挿入する列をクエリに指示する必要があります。試すINSERT INTO SWM_SALES_FEEDBACK (NAME_FIRST,TYPE) VALUES ('Jerry','ty');

于 2012-07-24T13:26:49.303 に答える
2

新しいリリースでmysqlにto_date()関数があるかどうかわからない:

ただし、これを使用できます。日時フィールドを一重引用符で囲みます。日時の形式を指定できます

  INSERT INTO table_name (birth_date) VALUES ('2008-07-04')

その他の日付形式の質問については、これを参照してください。

自動インクリメントの場合は、列を指定します

INSERT INTO SWM_SALES_FEEDBACK (NAME_FIRST,TYPE) VALUES ('Jerry','ty'); 
于 2012-07-24T13:27:40.877 に答える
1

次のコードを試してください

INSERT INTO SWM_SALES_FEEDBACK (NAME_FIRST,TYPE) VALUES ('Jerry','ty'); 
于 2012-07-24T13:26:24.763 に答える
1

Point 1

すべてのフィールドをDBに格納したくない場合は、VALUES以下に示すように、句の前にそれらの列名を指定する必要があります。

INSERT INTO myTable (field2,field3) VALUES ('field2','field3')

あなたの場合、ステートメントは

INSERT INTO SWM_SALES_FEEDBACK (name_first, type) VALUES ('Jerry','ty')
                               ^^^^^^^^^^^^^^^^^^

Point 2

DATETIMEとしてフィールドがあり、データ型としてTIMESTAMPがある場合は、次のように日付を入力できます。

INSERT INTO myTable (myDate) VALUES ('2012-12-28 12:12:12')

フォーマットはyyyy-mm-dd hh:mm:ss

システムの現在時刻をDBに保存したい場合は、NOW()以下のように使用できます。

INSERT INTO myTable (myDate) VALUES (NOW())
于 2012-07-24T13:39:26.737 に答える