如何更改mysql中表的排序规则?

时间:2012-12-05 15:16:36

标签: mysql phpmyadmin

我有一个问题,我从数据库导出表,有两个表名称,如el_gAnnouncement和另一个表el_gannouncement

当我尝试将表导入数据库时​​,phpmyadmin中存在错误

  

SQL查询:

     

- - 转储表格el_gAnnouncement的数据 - INSERT INTO el_gAnnouncementgAnn_idgAnn_textgAnn_order,   gAnn_statusgAnn_dategAnn_expiration)价值观(4,   0x4575726f4c696e676f2070617274696369706174657320696e204c6f63616c697a6174696f6e20576f726c6420436f6e666572656e636520323031302e,   1,'是','2011-04-04 09:51:42','0000-00-00'),(5,   0x4575726f4c696e676f5c277320526570726573656e74617469766520696e2054656b6f6d20323031303a205c2254656b6f6d2032303130207761732061207375636365737366756c20657870657269656e636520666f72204575726f4c696e676f5c22,   1,'是','2010-12-29 02:36:42','0000-00-00'),(6,   0x4575726f4c696e676f20657870616e6473206974732072616e6b73206f662050726f6a656374204d616e61676572732c206163636f7264696e6720746f20746865206f6e676f696e6720657870616e73696f6e20706c616e2e,   2,'是','2010-12-29 02:37:09','0000-00-00'),(7,   0x4575726f4c696e676f20696e74726f6475636573206d6f7265206c616e677561676520706169727320746f20697473206c697374206f66206c616e67756167652070616972732e,   3,'你[...]

     MySQL说:

     

1062 - 密钥'PRIMARY'重复输入'4'

我怎么能解决这个问题..我认为可能是我的localhost中的表排序问题...两个表在服务器上没有排序问题latin1_swedish_ci

导入表格的最佳方法是什么? 谢谢

1 个答案:

答案 0 :(得分:0)

这不是错误所说的。它说您的主键中已经有一个值'4'。我不知道如何使用错误的字符代码会导致这种情况。事实上,我没有看到任何实际上会受到不正确的字符代码影响的数据。问题是你试图将值4插入gAnn_id但该值已经存在。您需要检查您的mysql转储是否有重复的gAnn_ids,甚至是重复的插入行。您在phpmyadmin中用于导出的选项有哪些?你要插入的桌子是空的吗?如果没有,那可能是你的问题。要在没有gAnn_id列的情况下修复它导出,并让新数据库根据自动增量分配一个新数据库。如果需要保持id相同,则目标数据库上的当前ID必须更改,或者新ID必须更改。随便挑选。

如果您仍想知道更改排序规则。查看Mysql手册。

http://dev.mysql.com/doc/refman/5.1/en/charset-table.html

相关问题