【发布时间】:2015-12-14 23:52:04
【问题描述】:
我有一个设置表,正在尝试为用户插入数据设置。
表:
id (userid)|keyword|data|flags (设置 id) 33 |姓名|约翰|22 33 |性别|男性|21 33 |用户标识 |33 |1我正在尝试使用这种方法插入:
INSERT INTO users_settings
(id,keyword, data, flags)
VALUES
( '33','name', 'John', '22'),
( '33','sex', 'male', '21'),
( '33','userid', '33', '1'),
但是我收到了一个 MySQL 错误:
#1062 - 键“PRIMARY”的重复条目“33-name”
id 不是自动插入的(因为它是用来保存用户 ID)。
我的表架构:
CREATE TABLE IF NOT EXISTS `user_settings` (
`id` varchar(20) NOT NULL DEFAULT '-1',
`keyword` varchar(30) NOT NULL DEFAULT '',
`data` varchar(255) NOT NULL,
`flags` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`,`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
【问题讨论】:
-
你的表架构是什么? id 是 auto_increment 吗?
-
除非
id是一个字符(CHAR或VARCHAR)列,否则不要引用这些值。 -
我认为是Primary,因为错误与Primary有关
-
你能给出你的表架构吗?
-
id varchar(20) latin1_swedish_cikeyword varchar(30) latin1_swedish_cidata varchar(255) latin1_swedish_ci flags int(1)