我正在尝试设计如下数据库:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "CurrencyCell", for: indexPath) as? CurrencyCell else { return UITableViewCell() }
if currencies.count > 0 {
let noVal = currencies[indexPath.row].rank ?? "N/A"
let nameVal = currencies[indexPath.row].name ?? "N/A"
let priceVal = currencies[indexPath.row].price_usd ?? "N/A"
getIcon(id: currencies[indexPath.row].id!, completion: { (retImg) in
cell.configureCell(no: noVal, name: nameVal, price: priceVal, img: retImg)
})
}
return cell
}
我希望自动增量能够像这样工作 - 对于每个SKU,ItemAttributeID将从1开始自动增加。所以我可以拥有
CREATE TABLE `Item` (
`SKU` int(11) NOT NULL,
`ItemName` varchar(45) DEFAULT NULL
PRIMARY KEY (`SKU`)
)
CREATE TABLE `ItemVariant` (
`SKU` int(11) NOT NULL,
`ItemAttributeID` int(11) NOT NULL AUTO_INCREMENT,
`Color` varchar(45) DEFAULT NULL,
PRIMARY KEY (`SKU`,`ItemAttributeID`),
CONSTRAINT `ItemAttributeMaster_SKU` FOREIGN KEY (`SKU`) REFERENCES `ItemMaster` (`SKU`) ON DELETE CASCADE ON UPDATE CASCADE
)
但是使用自动增量并不能实现这一点。我怎样才能达到这个结果?
答案 0 :(得分:0)
你要么必须手动完成,要么你可以使用触发器......或者在MyISAM引擎中,如果你将它用于表,它会像你想要的那样工作,但是该引擎不会强制执行外键。 / p>