小编wes*_*wmd的帖子

MySQL UNIQUE键不起作用

我在库存表上建立类型,通过6个不同因素跟踪库存.我使用的查询与此类似:

INSERT INTO inventory ( productid, factor1, factor2, factor3, factor4, factor5, factor6, quantity, serial_number)
VALUES (242332,1,1,1,'V67',3.30,'NEW',10,NULL)
ON DUPLICATE KEY UPDATE `quantity` = VALUES(`quantity`) + quantity;
Run Code Online (Sandbox Code Playgroud)

inventory表具有UNIQUE KEY(productid,factor1,factor2,factor3,factor4,factor5,factor6,serial_number).出于某种原因,它没有取得关键而只是INSERT取而代之的是UPDATE.任何人都可以提供解释原因吗?我错过了什么?

这是表create语句:

CREATE TABLE `inventory` (
    `stockid` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `productid` int(11) unsigned NOT NULL,
    `factor1` int(11) unsigned NOT NULL,
    `factor2` int(11) unsigned NOT NULL,
    `factor3` int(11) unsigned NOT NULL,
    `factor4` varchar(8) NOT NULL,
    `factor5` decimal(10,2) NOT NULL,
    `factor6` enum('A','B','C','D','NEW') NOT NULL,
    `quantity` int(11) NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

mysql sql

6
推荐指数
1
解决办法
4078
查看次数

无法删除mysql表

我收到一个奇怪的错误.我有一张桌子animals,我试图放弃.由于外键约束失败,我无法删除表.我知道在放下桌子之前我必须丢弃外键.问题是这个表没有外键.我已经放弃了它们.SQLyog反映他们已被删除.但我仍然可以在info架构中找到它们.好像我把钥匙掉了一半或者别的东西.

如何在不丢弃数据库的情况下删除此表?我需要重新调整此表,我只想删除它并重新创建它.

编辑:这是来自SQL的错误消息:

Cannot delete or update a parent row: a foreign key constraint fails
Run Code Online (Sandbox Code Playgroud)

mysql sql drop-table sqlyog

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×2

sql ×2

drop-table ×1

sqlyog ×1