我怎样才能在我的桌子上添加这个'2'的id我已经有一个id为'2'的id我想问一下身份
INSERT INTO `f4`.`tbl_te` (
`id` ,
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES (
'2', 'Mushroom Omelet', '1', '55', '55'
)
#1062 - Duplicate entry '2' for key 'PRIMARY'
答案 0 :(得分:1)
如果它是主键,则它必须是唯一的 - 您需要更改您尝试添加的ID。或者,如果它是auto_increment,则根本不需要在INSERT中指定它:
INSERT INTO `f4`.`tbl_te` (
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES (
'Mushroom Omelet', '1', '55', '55'
)
这将为其分配下一个可用密钥。
如果您只想更改现有值:
UPDATE `f4`.`tbl_te` SET
`name`='Mushroom Omelet',
`quantity`='1',
`price`='55',
`subtotal`='55',
WHERE
id=2
答案 1 :(得分:0)
插入时,请勿插入主键字段:
INSERT INTO `f4`.`tbl_te` (
`name` , `quantity` , `price` ,`subtotal` )
VALUES ( 'Mushroom Omelet', '1', '55', '55' )
插入后,您也可以使用LastInsertID函数查看数据库为插入分配的ID。
答案 2 :(得分:0)
要在具有自动增量字段的表中插入行,您需要传递NULL
代替自动增量字段,如
INSERT INTO `f4`.`tbl_te` (
`id` ,
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES (
NULL, 'Mushroom Omelet', '1', '55', '55'
)
这将插入带有自动递增数字的行。
如果要更新现有行,请使用常用的更新查询。
答案 3 :(得分:0)
UPDATE f.tbl_te
SET
name = 'Mushroom Omlet',
quantity = '1',
price = '55',
subtotal = '55'
WHERE
id = 2;
如果要替换该ID,请更新相同的记录。您不能有倍数,所以如果它存在,请更新它。虽然,没有必要,如果你真的想改变id 2是什么,这就是方法。
答案 4 :(得分:0)
目前还不完全清楚你想要做什么,如果你想要{?1}一个新记录到一个具有自动增量的表,你不包括那个字段:
INSERT
但是,如果您想要 INSERT INTO `f4`.`tbl_te`
(
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES
(
'Mushroom Omelet',
'1',
'55',
'55'
)
UPDATE
的值,那么您使用id
:
UPDATE