【问题标题】:PHP PDO #1062 - Duplicate entry for key 'fkss'PHP PDO #1062 - 键“fkss”的重复条目
【发布时间】:2016-07-13 07:03:03
【问题描述】:

在 table mysql 中插入时帮助我的问题 我的结构表:

在此处插入表时出错...

请解决..

【问题讨论】:

  • 请在您的问题中提供插入查询。图片没有给出完整的查询。
  • 从查询中删除 idx,因为它是自动增量
  • 先删除列再创建
  • @Jens 我的查询 "INSERT INTO siswa_sekolah SET id_sekolah = '".$_POST['id_sekolah']."' , user_id = '".$_POST['user_id']."', id_kelas = '".$_POST['id_kelas']."' , id_rombel = '".$_POST['id_rombel']."', id_tahun_ajar = '".$_POST['id_tahun_ajar']."' ";我没有在查询中使用 idx
  • 插入 .... set ... 是无效的语法。此外,查询与您的屏幕截图中的不同

标签: php mysql duplicates


【解决方案1】:

此错误表示,新记录在您正在处理的表中有一条现有记录。在将其作为新记录插入之前,请检查您的主键。

希望对你有所帮助。

【讨论】:

  • 设置字段'idx'中的主键和自动增量,为什么在插入现有值记录'user_id'的地方不起作用?
  • @Iyesboy 表示您将您的 user_id 设置为唯一并且 IDS0000702 的记录已经存在
  • 我尝试在 phpmyadmin 中实时插入,
  • 是的,这意味着记录已经存在于您当前数据库中的工作表中
【解决方案2】:

它告诉您IDS0000702 已在您的表中使用。确保包含这种 id 的列(我猜是 user_id 列)不是唯一的(如果不打算唯一地保存数据):

//if you want to change your "suspecting" column's attribute
ALTER TABLE mytable DROP INDEX mycolumn

【讨论】:

  • 我尝试“ALTER TABLE siswa_sekolah DROP INDEX user_id”评论“#1091 - Can't DROP 'user_id'; 检查列/键是否存在”
  • @Iyesboy 那么我假设可疑列是user_id 可能是错误的。我不知道你的整张桌子。为什么不试试其他的 id-holding 列,特别是 fkss(在您发布的照片​​中看不到)
【解决方案3】:

谢谢大家....问题已解决两步即可解决问题:

  1. 在表查询中显示索引 = SHOW INDEX FROM <table_name>;
  2. 删除表中的索引 = ALTER TABLE <table_name> DROP INDEX <index_name>;

我在 user_id "fkss" 中找到了索引 谢谢任何答案.. :) link refernce

【讨论】:

    猜你喜欢
    • 2011-11-11
    • 2012-07-23
    • 2013-09-30
    • 2015-04-26
    • 1970-01-01
    • 2019-07-21
    • 2017-08-07
    • 2015-10-01
    相关资源
    最近更新 更多