Mysql #1062-重复输入';0';对于键';初级';7.

Mysql #1062-重复输入';0';对于键';初级';7.,mysql,sql,Mysql,Sql,得到这个错误并且不熟悉创建表和列,其他一些类似的问题和答案都没有帮助 这就是错误: Error SQL查询: INSERT INTO orders_session_info (txn_signature , orders_id , payment , payment_title , payment_amount , payment_currency , payment_currency_val , sendto , billto , language , language_id , curr

得到这个错误并且不熟悉创建表和列,其他一些类似的问题和答案都没有帮助

这就是错误:

Error
SQL查询:

INSERT INTO orders_session_info 
(txn_signature , orders_id , payment , payment_title , payment_amount , payment_currency , payment_currency_val , sendto , billto , language , language_id , currency , currency_value , firstname , lastname , content_type , affiliate_id , affiliate_date , affiliate_browser, affiliate_ipaddress , affiliate_clickthroughs_id )
VALUES 
(
'd4208b15558a761c34dc7c79b87275b4', '20167', 'paypal', 'PayPal', '273.56', 'USD', '1.00000000', '140', '140', 'english', '1', 'USD', '1.00000000', 'Pauls', 'Dandzbergs', 'physical', '0', '0000-00-00 00:00:00', '', '', '0'
);
MySQL说:文档

#1062 - Duplicate entry '0' for key 'PRIMARY' 
以及守则:

-- Table structure for table `orders_session_info`
--

DROP TABLE IF EXISTS orders_session_info;
CREATE TABLE orders_session_info (
  txn_signature int(11) NOT NULL AUTO_INCREMENT,
  orders_id int(11) NOT NULL,
  payment varchar(32) NOT NULL,
  payment_title varchar(32) NOT NULL,  
  payment_amount varchar(32) NOT NULL,
  payment_currency varchar(32) NOT NULL,
  payment_currency_val varchar(32) NOT NULL,
  sendto varchar(32) NOT NULL,
  billto varchar(32) NOT NULL,
  language varchar(32) NOT NULL,
  language_id varchar(32) NOT NULL,
  currency varchar(32) NOT NULL,
  currency_value varchar(32) NOT NULL,
  firstname varchar(32) NOT NULL,
  lastname varchar(128) NOT NULL,
  content_type varchar(128) NOT NULL,
  affiliate_id varchar(128) NOT NULL,
  affiliate_date varchar(128) NOT NULL,
  affiliate_browser varchar(128) NOT NULL,
  affiliate_ipaddress varchar(128) NOT NULL,    
  affiliate_clickthroughs_id varchar(128) NOT NULL,
  PRIMARY KEY (txn_signature),
  KEY txn_signature(orders_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
任何具体的帮助都将不胜感激

--
-- Dumping data for table orders_session_info

您的主键字段
txn\u签名
是一个
自动递增
字段。这意味着在插入新行时,数据库将自动为其创建唯一值


因此,您不应该在INSERT语句中包含此字段-数据库将为您处理此字段。现在,它认为您试图覆盖自动功能,并手动插入值“d4208b15558a761c34dc7c79b87275b4”。显然,一旦您有多行,这将导致重复ID,因此这是不允许的。此外,您的字段是一个int,您正试图在其中插入一个字符串,这也不会起作用。

…而且服务器没有适当地启用严格的
@@SQL\u模式
,因此不以数字开头的字符串只需强制为整数值0即可。(+1)@Michael sqlbot谢谢你的加入,我不知道。