我不明白为什么我在尝试填充此表时遇到此错误。目前表中没有任何内容,所以我不明白为什么会出现重复......
这是我使用的代码:
INSERT INTO Suppliers
(supp_id,company_name,town,phone)
Values
("ADT217","AdTec","Birmingham","0121-368-1597"),
("CPS533","CPS","Maidenhead","01382-893715"),
("FCL162","ForComp Ltd","Nottingham","01489-133722"),
("KBC355","KBC Computers","Glasgow","0141-321-1497");
非常感谢任何帮助,
谢谢。
供应商表......
CREATE TABLE suppliers(
supp_id int NOT NULL,
company_name character(15) NOT NULL,
town character(15)
phone character(15)
primary key(supp_id)
);
答案 0 :(得分:3)
如果您有主键但未给它初始化值,则会发生这种情况。插件本身导致重复。
在您的情况下,我会想到两种可能性:
supp_id
是主键,并声明为数字。在旧版本的MySQL中,我认为字符串值会以静默方式转换为数字。由于前导字符是字母,因此值为0.
您有另一个id
字段作为主键,但没有给出任何值且未声明auto_increment
。
编辑:
我怀疑您需要以下代码:
CREATE TABLE suppliers (
supplierId int NOT NULL auto_increment primary key,
supp_name varchar(255) unique,
company_name varchar(15) NOT NULL,
town varchar(15),
phone varchar(15)
);
INSERT INTO Suppliers(supp_name, company_name, town, phone)
Values ('ADT217', 'AdTec', 'Birmingham', '0121-368-1597'),
('CPS533', 'CPS', 'Maidenhead', '01382-893715'),
('FCL162', 'ForComp Ltd', 'Nottingham', '01489-133722'),
('KBC355', 'KBC Computers', 'Glasgow', '0141-321-1497');
一些注意事项:
varchar()
而不是char()
,除非你真的喜欢字符串末尾有很多空格。auto_increment
。答案 1 :(得分:1)
使用您的表,您可以得到错误,例如"错误的整数值",但根据MySQL服务器配置,它可以自动进行转换(string-> int),因为您的查询字符串必须变为&#34 ; 0"因此,它产生2行,其中0作为supp_id并获得错误重复条目' 0'关键' PRIMARY' 。我猜您使用 InnoDB 作为表类型,在这种情况下,查询将作为事务运行,它将在第一次错误后回滚(对于此示例,它将是第二行)。
DROP TABLE suppliers; -- Will drop your old table
CREATE TABLE suppliers(
supp_id varchar(30) NULL, -- You can set length as you wish
company_name character(15) NOT NULL,
town character(15),
phone character(15),
primary key(supp_id)
);
INSERT INTO Suppliers
(supp_id,company_name,town,phone)
Values
("ADT217","AdTec","Birmingham","0121-368-1597"),
("CPS533","CPS","Maidenhead","01382-893715"),
("FCL162","ForComp Ltd","Nottingham","01489-133722"),
("KBC355","KBC Computers","Glasgow","0141-321-1497");
更改后的类型插入工作没有问题。
答案 2 :(得分:0)
在 Wordpress 中,当我们克隆网站时,媒体和用户角色不起作用。错误如下:
<块引用>WordPress 数据库错误重复条目 '0' for key 'PRIMARY' for query
INSERT INTO `wp_334_actionscheduler_logs`
(`action_id`, `message`, `log_date_gmt`, `log_date_local`)
VALUES (0, 'action complete via WP Cron', '2021-02-17 05:29:40',
'2021-02-17 05:29:40')
制作
do_action_ref_array('action_scheduler_run_queue'),
WP_Hook->do_action,
WP_Hook->apply_filters,
ActionScheduler_QueueRunner->run,
ActionScheduler_QueueRunner->do_batch,
ActionScheduler_Abstract_QueueRunner->process_action,
do_action('action_scheduler_after_execute'),
WP_Hook->do_action,
WP_Hook->apply_filters,
ActionScheduler_Logger->log_completed_action,
ActionScheduler_DBLogger->log