回答編集履歴

1

追記

2016/07/21 05:31

投稿

yambejp
yambejp

score501

test CHANGED
@@ -3,35 +3,3 @@
3
3
  IDがPRIMARYでNOはユニークと考えればよいですか?
4
4
 
5
5
  それともIDがPRIMARYでNOはだたのINTでしょうか?
6
-
7
-
8
-
9
- # 追記
10
-
11
- ごめんなさいMySQLの例です
12
-
13
- ```SQL
14
-
15
- CREATE TABLE tbl_A (ID INT NOT NULL ,NO INT NOT NULL, NAME VARCHAR(10), KOSHIN_DATE datetime,timestamp timestamp,PRIMARY KEY(ID,NO));
16
-
17
- INSERT INTO tbl_A(ID,NO,NAME,KOSHIN_DATE) VALUES(1,100,'hoge','2016-07-21 01:00:00'),(1,200,'hoge','2016-07-21 02:00:00'),(2,200,'hoge','2016-07-21 02:00:00'),(3,300,'hoge','2016-07-21 03:00:00');
18
-
19
- CREATE TABLE tbl_B (ID INT NOT NULL ,NO INT NOT NULL, NAME VARCHAR(10), KOSHIN_DATE datetime,timestamp timestamp,PRIMARY KEY(ID,NO));
20
-
21
- INSERT INTO tbl_B(ID,NO,NAME,KOSHIN_DATE) VALUES(2,2000,'hoge','2016-07-21 02:00:00'),(3,300,'fuga','2016-07-21 04:00:00'),(4,4000,'fuga','2016-07-21 04:00:00');
22
-
23
- ```
24
-
25
-
26
-
27
- データ更新
28
-
29
- ```SQL
30
-
31
- INSERT IGNORE INTO tbl_A SELECT * FROM tbl_B;
32
-
33
- UPDATE tbl_A,tbl_B SET tbl_A.NO=tbl_B.NO,tbl_A.NAME=tbl_B.NAME,tbl_A.KOSHIN_DATE=NOW() WHERE tbl_A.ID=tbl_B.ID AND tbl_A.NO=tbl_B.NO;
34
-
35
- ```
36
-
37
- 複合PRIMARYということなので、IDのみの合致ではなくNOまで条件に入れてあります