CREATE TABLE `api_key` (
`id` char(36) NOT NULL,
`user_id` char(36) NOT NULL,
`platform` char(2) NOT NULL,
`key_type` char(1) NOT NULL,
`key` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
INSERT INTO api_key (key,key_type,platform,user_id,id) values ('123', '0', '00', '123', 'c89116d2');
始终输出:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'key,key_type,platform,user_id,id)值附近('123','0','00', '123','c89116d2')'在第1行
答案 0 :(得分:1)
key
是MySQL中的保留关键字,您应该避免将其用作列,表等的名称(如果可能的话,请不要使用它)。但是,您可以通过使用反引号转义列名key
来解决此问题。请尝试以下INSERT
:
INSERT INTO api_key (`key`, `key_type`, `platform`, `user_id`, `id`)
VALUES ('123', '0', '00', '123', 'c89116d2');
请注意,为了保持一致性,我在反引号中转义了所有列,但只有key
列才需要它才能使INSERT
正常工作。