我有一个 SQL 表,我从 Excel 文件中填充它。问题是很多字段都是重复的。例如:
FOURNITURE MFC SERIE
FOURNITURE MFC SERIE
FOURNITURE MFC SERIE
在我的表格中,我只找到一行。其余的都跳了起来。但是,我需要获取所有行。
我的要求是:
if ($articleid == 'DIEPRESTATION' || $articleid == 'DIEDIVBIEN' ||$articleid =='DIEDIVERS')
{
if(!($this->_db->query("INSERT INTO `article` (`ID_Article`, `Designiation`, `Ident`, `ID_LRU`) VALUES ('".$articleid."', '".$designation."', '".$ident."', '".$IdLRU."');")))
{
if ($LRU != 'new')
{
return $this->_db->query(" UPDATE `FLOOSE`.`article` SET `ID_LRU` =
'".$IdLRU."' WHERE `article`.`ID_Article` = '".$articleid."' AND
`article`.`Designiation` = '".$designation."' AND
`article`.`Ident` = '".$ident."' LIMIT 1 ;");
}
else {
return false;
}
} else{
return TRUE;
}
}
我如何更改它或进行测试以恢复所有线路?我删除唯一键约束? 谢谢。
最佳答案
是的,您的列确实有唯一的约束。更重要的是,ID_Article
、Designiation
的组合是您的主键,根据定义它也是唯一的。
你应该
- 删除该主键:
ALTER TABLE 文章 DROP PRIMARY KEY;
- 添加另一个字段(将其命名为
id
以遵守约定),并将其设置为自动增量主键:ALTER TABLE Article ADD id INT PRIMARY KEY AUTO_INCRMENT;
关于php - 修改请求SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44134555/