2015-04-04 60 views
0

目录中已有产品。在/ home 1062Opencart - 添加产品会给出错误

`INSERT INTO oc_product SET model = 'xxxxx', sku = '', upc = '', ean = '', jan = '', isbn = '', mpn = '', location = '', quantity = '1', minimum = '1', subtract = '1', stock_status_id = '5', date_available = '2015-04-03', manufacturer_id = '0', shipping = '1', price = '0', points = '0', weight = '0', weight_class_id = '1', length = '0', width = '0', height = '0', length_class_id = '1', status = '1', tax_class_id = '0', sort_order = '1', date_added = NOW()` 

:当我尝试添加另一个,它会返回该错误:(我认为这是SQL) 注意:错误:重复的项目“2147483647”关键“PRIMARY” 错误无/xxxx/xxxx/system/database/mysql.php on line 50

任何想法? 我认为2147483647是id可以使用的最大值,但是由于某种原因,这就是它试图自动填充的原因?

+0

该语法听起来像是插入和更新的合并。你能发布你的代码吗?该整数是您可以拥有的最大整数(32位),实际上是该产品的ID? – chris85 2015-04-04 14:09:18

+0

@ chris85我不知道代码在哪里执行 - 它是opencart框架的一部分。但如果我用phpmyadmin查看SQL数据库,那个ID确实已经存在。我不明白为什么它不以1,2,3开头 - 或者也许PHP代码试图把一个负面的ID(出于任何奇怪的原因),哪些SQL假设最大可能? – 2015-04-04 14:29:12

+0

我猜'primary'是'auto_increment'列。在这种情况下,以下MySql文档提供了几种可能的解决方案。 http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html – jmarkmurphy 2015-04-04 14:41:12

回答

0

我找到了解决方案:AUTO_INCREMENT是mySQL用于在INSERT新行时自动填充表的值。所以,下一个ID将是AUTO_INCREMENT的值。 (其中,错误地设置为2147483647)。

所以我去了phpMyAdmin并将auto_increment改回为1,对于产品表,现在它的工作原理。

0

OR tbl中的其他错误Oc_card no行card_id上的Auto_increment。 在行上设置Auto_increment card_id 并修复它

相关问题