2

従業員というテーブルを作成しました

CREATE TABLE employee(
     id INT,
     name VARCHAR(50),
     credit_card_number VARCHAR(20),
     expr_date CHAR(6),
     PRIMARY KEY(id)
)

そして、クレジットカード情報を格納するテーブルがあります

CREATE TABLE credit_card (
     credit_card_number VARCHAR(20),
     expr_date CHAR(6),
     o_datetime DATETIME
)

現在保存されているすべての従業員のクレジット カード情報を新しいクレジット カード テーブルに挿入する挿入ステートメントを作成したいと考えています。o_datetimeまた、現在の日時を入力したいと思います。

これは私が最初にアプローチした方法ですが、これを正しく行っているかどうかは正確にはわかりません..

INSERT INTO credit_card(credit_card_number, expr_date, CURRENT_TIMESTAMP AS o_datetime)
SELECT credit_card_number, expr_date
FROM employees;

しかし、これを実行するとエラーが発生します。私はSQLに本当に慣れていないので、簡単なステップが欠けているかもしれませんが、それを理解できないようです.

4

3 に答える 3

1

構文が正しくありません。句の後のリストにはinto、列名のみを含めることができます。すべての値 (定数または関数の戻り値であっても) をselectリストで指定する必要があります。

INSERT INTO credit_card(credit_card_number, expr_date, o_datetime)
SELECT      credit_card_number, expr_date, CURRENT_TIMESTAMP
FROM        employees; 
于 2015-03-08T21:03:37.860 に答える
1

次のようになります。

INSERT INTO credit_card(credit_card_number, expr_date, o_datetime)
SELECT credit_card_number, expr_date, CURRENT_TIMESTAMP
FROM employee;

挿入の 3 番目の列を定義する必要があります。この場合はCURRENT_TIMESTAMPo_datetime.

于 2015-03-08T21:01:42.707 に答える