Mysql 重复输入';0';对于键';初级';
我不明白为什么在尝试填充此表时会出现此错误。现在桌子上什么都没有,所以我不明白为什么会有一个副本 这是我正在使用的代码:Mysql 重复输入';0';对于键';初级';,mysql,sql-insert,Mysql,Sql Insert,我不明白为什么在尝试填充此表时会出现此错误。现在桌子上什么都没有,所以我不明白为什么会有一个副本 这是我正在使用的代码: INSERT INTO Suppliers (supp_id,company_name,town,phone) Values ("ADT217","AdTec","Birmingham","0121-368-1597"), ("CPS533","CPS",&
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)
);
当您有一个主键但没有给它一个初始化值时,就会发生这种情况。插入本身导致了重复 在您的情况下,会想到两种可能性:
supp\u id
是主键并声明为数字。在MySQL的旧版本中,我认为字符串值会被静默地转换为数字。因为前导字符是字母,所以该值为0id
字段,它是主键,但没有给定值,也没有声明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()
- 我向表中添加了一个唯一的供应商名称,并声明该id为
自动增量
- 单引号是字符串常量的ANSI标准。MySQL(和其他一些数据库)允许双引号,但没有理由不使用该标准
更改类型后,插入将正常工作。在Wordpress中,当我们克隆网站时,媒体和用户角色不起作用。错误如下: WordPress数据库错误为查询的键“PRIMARY”复制条目“0”
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
哪列是主键?请使用表的定义编辑问题。supp_id可能是整数类型,而不是char/varchar。supp_id是suppliers表上的主键。可能有一个id列未设置为自动递增。实际上,如果没有表定义,这只是空泛的推测。1.)这不应该导致插入错误吗?(不正确的整数值)?是否支持id是int而不是char或varchar?我尝试将其更改为varchar,但不起作用:(@jmc1690请发布您的表定义(
SHOW CREATE table Suppliers
)@dognose…很有趣。它在较新的版本中肯定会产生错误。我想知道早期版本是否进行了静默转换,因为OP肯定表明这不是问题所在。
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