【问题标题】:error upload db to mysql错误将db上传到mysql
【发布时间】:2014-12-25 15:12:29
【问题描述】:
-- Constraints for table `variation`
--
ALTER TABLE `variation`
  ADD FOREIGN KEY (`parent`) REFERENCES `variation` (`id`),
  ADD FOREIGN KEY (`scale`) REFERENCES `scale` (`id`),
  ADD FOREIGN KEY (`user`) REFERENCES `users` (`user_id`);

--

错误

第 277 行的错误 1452 (23000):无法添加或更新子行:a 外键约束失败 (getsy.#sql-f44_2a, CONSTRAINT #sql-f44_2a_ibfk_2 外键 (scale) 引用 scale (id))

这个表格变体

CREATE TABLE IF NOT EXISTS `variation` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `parent` bigint(20) DEFAULT NULL,
  `scale` bigint(20) DEFAULT NULL,
  `value` varchar(255) NOT NULL,
  `user` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `parent` (`parent`,`scale`,`value`,`user`),
  KEY `scale` (`scale`),
  KEY `user` (`user`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=101 ;

帮帮我..

谢谢

【问题讨论】:

    标签: mysql key


    【解决方案1】:

    看起来在variation 表列scale 中包含表scale 列id 中缺少的值。

    您可以使用以下查询检查缺失值:

    SELECT DISTINCT a.scale FROM 
       variation AS a LEFT JOIN scale AS b ON a.scale = b.id 
    WHERE b.id IS NULL;
    

    【讨论】:

    • 当我尝试查询显示结果 11 并且此警告当前选择不包含唯一列时。网格编辑、复选框、编辑、复制和删除功能不可用。我该怎么办?
    • 如果您得到结果 - 11,这意味着您在变体表中有刻度 ID,但在刻度表中没有相同的 ID。请在此处阅读有关外键的信息:create-table-foreign-keys.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 2018-02-07
    • 2020-06-04
    • 1970-01-01
    相关资源
    最近更新 更多