CREATE TABLE Shopping_Cart(
CustID INTEGER UNSIGNED NOT NULL,
ProdID INTEGER UNSIGNED NOT NULL,
Quantity INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(CustID, ProdID));
INSERT INTO Shopping_Cart VALUES("BostockG12345A", "DULL12275226", 2);
INSERT INTO Shopping_Cart VALUES("BostockG12345A", "jPET1224108", 1);
谢谢大家。我回家后,我会将它从整数更改为VARCHAR。我在分配ID之前创建了表。但这引出了另一个问题 对于购物车,我编写了CustID和ProdID,即使它们是Customer表和Product表中的auto_increment。我得到了一点混淆,首先是鸡肉或鸡蛋(auto_increments CustID(和ProdID)或INSERTs CustID(或ProdID)。我怎么知道购物车的auto_increment ID号是什么INSERT如果全部在同一个文件中?我应该查询名称为Bostock的客户的ID以及该特定产品的ID,然后执行INSERT吗?
答案 0 :(得分:1)
CustID INTEGER UNSIGNED NOT NULL, --> Integer
ProdID INTEGER UNSIGNED NOT NULL, -->Integer
INSERT INTO Shopping_Cart VALUES("BostockG12345A", "DULL12275226", 2);
INSERT INTO Shopping_Cart VALUES("BostockG12345A", "jPET1224108", 1);
Wrong May be : But you are inserting string data in place of integer
答案 1 :(得分:0)
CustID
和ProdID
是数据库中的整数值,您正在插入字符串(" BostockG12345A"," DULL12275226")mysql尝试将其转换为数字。转换结果为0,因此最终插入2条记录,其中CustId = 0且ProdId = 0
答案 2 :(得分:0)
更改CustID和ProdID列的类型。它会工作正常,我试过。因为你的值不是整数类型。