0

約30個のフィールドを持つMySQLテーブルがあります。これらのフィールドのサブセットと、支出の履歴を追跡するためのCURDATE()を含む2番目のテーブルを作成する必要があります。構文エラーが発生しますが、最初からメソッドが正しくない可能性があります。これを確認してください、ありがとう!

INSERT INTO history (customer_id, name, amount, date_recorded)
set date_recorded = CURDATE()
SELECT customer_id, name, amount
FROM master;

上記の例でMySQLで実行しようとしているのは、customer_id、name、amountのフィールドをマスター顧客リストからコピーし、今日の日付を含めることです。履歴テーブルのレコードレイアウトは次のとおりです。

+---------------+------------------+------+-----+---------+----------------+
| Field         | Type             | Null | Key | Default | Extra          |
+---------------+------------------+------+-----+---------+----------------+
| id            | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| customer_id   | int(11)          | NO   | PRI | NULL    |                |
| name          | varchar(255)     | NO   |     | NULL    |                |
| amount        | int(11)          | NO   |     | NULL    |                |
| date_recorded | date             | NO   |     | NULL    |                |
+---------------+------------------+------+-----+---------+----------------+
4

1 に答える 1

1

これを試して::

INSERT INTO history (customer_id, name, amount, date_recorded)

SELECT customer_id, name, amount, CURDATE()
FROM master

もう1つの方法は::

INSERT INTO history (customer_id, name, amount, date_recorded)

SELECT customer_id, name, amount, DATE(now())
FROM master
于 2012-11-18T17:00:14.707 に答える