2015-11-16 83 views
0

任何想法爲什麼這個錯誤在這段代碼中出現?嘗試插入時發生mysql錯誤....重複密鑰

"INSERT INTO upcomuser_lv (id, user, month, date_start, date_end, sick, holiday, comp, military) 
VALUES   ('id', '$user', 'November', '2015-11-1', '2015-11-30', '8', '24', '0', '0'), 
       ('id','$user','December', '2015-12-1', '2015-12-31', '8', '16', '16', '0'), 
       ('id','$user','Janruary', '2016-1-1', '2016-1-31', '8', '16', '0', '0'), 
       ('id','$user','February', '2016-2-1', '2016-2-29', '8', '8', '0', '0'), 
       ('id','$user','March', '2015-3-1', '2015-3-31', '8', '0', '0', '0'), 
       ('id','$user','April', '2015-4-1', '2015-4-30', '8', '0', '0', '0'), 
       ('id','$user','May', '2016-5-1', '2016-5-31', '8', '8', '0', '0'), 
       ('id','$user','June', '2016-6-1', '2016-6-30', '8', '0', '0', '0'), 
       ('id','$user','July', '2015-7-1', '2015-7-31', '8', '8', '0', '0'), 
       ('id','$user','August', '2015-8-1', '2015-8-31', '8', '0', '0', '0'), 
       ('id','$user','September', '2016-9-1', '2016-9-30', '8', '0', '0', '120'), 
       ('id','$user','October', '2016-10-1', '2016-10-31', '8', '0', '0', '0'), 
ON DUPLICATE KEY UPDATE user=VALUES('user'), month=VALUES('month'), date_start=VALUES('date_start'), date_end=VALUES('date_end'), sick=VALUES('sick'), holiday=VALUES('holiday'), comp=VALUES('comp'), military=VALUES('military')"; 

您的SQL語法錯誤;請檢查 對應於您的MySQL服務器版本的手冊,以便在第14行的'ON DUPLICATE KEY UPDATE user = VALUES('user'), month = VALUES('month'),date_start = V'附近使用

+4

在最終設定值的末尾的尾隨逗號之前尾隨逗號? – andrewsi

+0

我刪除了我的答案,因爲人們似乎並不喜歡它,但是您也有語法錯誤之外的問題。您一遍又一遍地插入相同的值,並會在您的UPDATE語句中錯誤地更新模糊。 – doublesharp

回答

1

你有ON

"INSERT INTO upcomuser_lv (id, user, month, date_start, date_end, sick, holiday, comp, military) 
VALUES   ('id', '$user', 'November', '2015-11-1', '2015-11-30', '8', '24', '0', '0'), 
       ('id','$user','December', '2015-12-1', '2015-12-31', '8', '16', '16', '0'), 
       ('id','$user','Janruary', '2016-1-1', '2016-1-31', '8', '16', '0', '0'), 
       ('id','$user','February', '2016-2-1', '2016-2-29', '8', '8', '0', '0'), 
       ('id','$user','March', '2015-3-1', '2015-3-31', '8', '0', '0', '0'), 
       ('id','$user','April', '2015-4-1', '2015-4-30', '8', '0', '0', '0'), 
       ('id','$user','May', '2016-5-1', '2016-5-31', '8', '8', '0', '0'), 
       ('id','$user','June', '2016-6-1', '2016-6-30', '8', '0', '0', '0'), 
       ('id','$user','July', '2015-7-1', '2015-7-31', '8', '8', '0', '0'), 
       ('id','$user','August', '2015-8-1', '2015-8-31', '8', '0', '0', '0'), 
       ('id','$user','September', '2016-9-1', '2016-9-30', '8', '0', '0', '120'), 
       ('id','$user','October', '2016-10-1', '2016-10-31', '8', '0', '0', '0') 
ON DUPLICATE KEY UPDATE user=VALUES('user'), month=VALUES('month'), date_start=VALUES('date_start'), date_end=VALUES('date_end'), sick=VALUES('sick'), holiday=VALUES('holiday'), comp=VALUES('comp'), military=VALUES('military')"; 
+1

尾隨逗號沒有修復它。 –

+0

'user = VALUES('user')'正在使用錯誤的引號,用'代替。 – jso

+0

修復了它。逗號和引號是錯誤的。謝謝 –