我怎样才能在我的桌子上添加这个 '2' 的 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'
如果它是主键,则它必须是唯一的 - 您需要更改您尝试添加的 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
插入时,不要插入主键字段:
INSERT INTO `f4`.`tbl_te` (
`name` , `quantity` , `price` ,`subtotal` )
VALUES ( 'Mushroom Omelet', '1', '55', '55' )
插入后,您还可以使用 LastInsertID 函数查看数据库为您的插入分配的 ID。
要将行插入具有自动增量字段的表中,您需要传递 aNULL
来代替自动增量字段,例如
INSERT INTO `f4`.`tbl_te` (
`id` ,
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES (
NULL, 'Mushroom Omelet', '1', '55', '55'
)
这将插入具有自动递增数字的行。
如果要更新现有行,请使用通常的更新查询。
UPDATE f.tbl_te
SET
name = 'Mushroom Omlet',
quantity = '1',
price = '55',
subtotal = '55'
WHERE
id = 2;
如果要替换该 ID,请更新相同的记录。你不能有多个,所以如果它存在,更新它。虽然这不是必需的,但如果你真的想改变 id 2 是什么,这就是方法。
目前尚不清楚您要做什么,如果您想将INSERT
新记录添加到具有自动增量的表中,则不包括该字段:
INSERT INTO `f4`.`tbl_te`
(
`name` ,
`quantity` ,
`price` ,
`subtotal`
)
VALUES
(
'Mushroom Omelet',
'1',
'55',
'55'
)
但是,如果您想要UPDATE
该值,id
那么您可以使用UPDATE
:
UPDATE `f4`.`tbl_te`
SET `name` = 'Mushroom Omelet',
`quantity` = '1',
`price` = '55',
`subtotal`= '55'
WHERE `id` = 2