すでに「2」の ID を持っているテーブルに「2」のこの ID を追加するにはどうすればよいですか。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
自動インクリメント フィールドを持つテーブルに行を挿入するには、次のNULL
ように自動インクリメント フィールドの代わりにを渡す必要があります。
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
挿入するときは、主キー フィールドを挿入しないでください。
INSERT INTO `f4`.`tbl_te` (
`name` , `quantity` , `price` ,`subtotal` )
VALUES ( 'Mushroom Omelet', '1', '55', '55' )
挿入後、LastInsertID 関数を使用して、データベースが挿入に割り当てた ID を確認できます。