user
テーブルの2つのカラム(user_id
、team_id
)の値をcompany_team
の接合テーブルに挿入しようとしています。しかし、created_at
とupdated_at
カラムの値をcompany_team
に挿入する2つの異なる試みでエラーが発生しており、それらを過ぎて動作させる方法がわかりません。SQL挿入タイムスタンプ問題
私は単にuser
テーブル内の同等のフィールドの値を持つ2つのフィールドを更新したかった最初の試みでは、(両方のテーブル上の注意列がDATETIMEです)
INSERT INTO `company_team` (`created_at`,`updated_at`,`user_id`, `company_id`)
SELECT `user_id`, `company_id`, `created_at`, `updated_at`
FROM `user` AS `u`
WHERE `u`.`company_id` IS NOT NULL;
エラー:
:Incorrect datetime value: '1' for column 'created_at' at row 1
は、その後、私はちょうどレコードの作成時現在の日付/時刻を使用してみました
INSERT INTO `company_team` (NOW(),NOW(),`user_id`, `company_id`) SELECT `user_id`, `company_id`, `created_at`, `updated_at` FROM `user` AS `u` WHERE `u`.`company_id` IS NOT NULL;
エラー:あなたが挿入を行っているとき
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW(),NOW(),`user_id`, `organization_id`)
SELECT `user_id`, `company_id`, `' at line 1
ありがとうございました!列の順序が厳格であることを覚えておくと、わずかな時間がかかります。 – cphill