2015-03-19 31 views
0

當從表A複製到表BI需要表A ID和image_name被複制到表B中,其中表A和B具有作爲主鍵的id時,我有兩個具有相同結構的表和自動遞增。但ID具有表B.新的價值插入選擇的陳述ID不被複制

表結構:

`id` int(11) NOT NULL AUTO_INCREMENT, 
    `camera_id` int(11) NOT NULL, 
    `name` varchar(20) NOT NULL, 
    `plate` varchar(20) NOT NULL, 
    `nread` int(11) DEFAULT NULL, 
    `datetime` datetime NOT NULL, 
    `millisecs` int(3) NOT NULL, 
    `nationality` varchar(3) NOT NULL, 
    `image_name` varchar(255) DEFAULT NULL, 
    `image` mediumblob, 
    `checked` int(1) NOT NULL DEFAULT '0', 

$sql = "INSERT INTO $newCamTable (plate, nread, datetime, millisecs, nationality, image_name, image) SELECT plate, nread, datetime, millisecs, nationality, image_name, image FROM $camTable WHERE id=\"$tableEntryId\""; 
    logit($sql); 
+0

那是什麼錯誤獨特之處? – MarcinWolny 2015-03-19 09:10:27

+1

我看不到eny的問題? – Jens 2015-03-19 09:11:18

+0

ID未被複制,它在表B上具有新的ID值...並非完全錯誤 – pretyv5 2015-03-19 09:11:24

回答

0

改變這一行

$sql = "INSERT INTO $newCamTable (plate, nread, datetime, millisecs, nationality, image_name, image) SELECT plate, nread, datetime, millisecs, nationality, image_name, image FROM $camTable WHERE id=\"$tableEntryId\""; 

,並添加id字段:

$sql = "INSERT INTO $newCamTable (id, plate, nread, datetime, millisecs, nationality, image_name, image) SELECT id,plate, nread, datetime, millisecs, nationality, image_name, image FROM $camTable WHERE id=\"$tableEntryId\""; 

這將防止自動增量功能在表格'B'中生成一個新的ID。

需要手動管理該ID是在表「B」

+0

謝謝阿克塞爾.... – pretyv5 2015-03-20 10:55:04