2017-07-29 65 views
0

我已經創建表這樣插入到MySQL錯誤1064, '(4,雅虎,USER4-yahooid)' 在行9

CREATE TABLE profile_contact 
(
profile_id  INT UNSIGNED NOT NULL, 
service  CHAR(20) NOT NULL, 
contact_name CHAR(25) NOT NULL, 
); 

然後後者欲從MySQL插入行

mysql> INSERT INTO profile_contact 
    -> (profile_id,service,contact_name) 
    -> VALUES 
    -> (1,AIM,user1-aimid), 
    -> (1,MSN,user1-msnid), 
    -> (2,AIM,user2-aimid), 
    -> (2,MSN,user2-msnid), 
    -> (2,Yahoo,user2-yahooid) 
    -> (4,Yahoo,user4-yahooid); 

但我得到錯誤

ERROR 1064 (42000): 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 '(4,Yahoo,user4-yahooid)' at line 9 

我按照標準INSERT INTO VALUES syntax.What是錯的?

+0

可能重複[如何修復MySQL錯誤#1064?](https://stackoverflow.com/questions/23515347/how-cani-i-fix-mysql-error-1064) – axiac

回答

3

您的腳本在倒數第二個值(2,Yahoo,user2-yahooid)後因此錯誤而缺少逗號。以下應該工作:

CREATE TABLE profile_contact(
profile_id  INT UNSIGNED NOT NULL, 
service  CHAR(20) NOT NULL, 
contact_name CHAR(25) NOT NULL 
); 

INSERT INTO profile_contact 
-> (profile_id,service,contact_name) 
-> VALUES 
-> (1,'AIM','user1-aimid'), 
-> (1,'MSN','user1-msnid'), 
-> (2,'AIM','user2-aimid'), 
-> (2,'MSN','user2-msnid'), 
-> (2,'Yahoo','user2-yahooid'), 
-> (4,'Yahoo','user4-yahooid'); 

P.S.在CREATE聲明的最後一列之後不應該有逗號,但是,我相信這不是完整的CREATE腳本。此外,像AIM等值應包括在引號中。

這是SQL Fiddle