私はtype_tableに値を挿入するmysqlスクリプトを持っています。このスクリプトを再度実行すると、重複した値がtype_tableに挿入されます。 idが他の多くのテーブルの外部キーであるため、type_tableを削除して再挿入したくありません。このスクリプトが何度も実行されると仮定して、Insert文を一度実行するにはどうすればよいですか。それはあなたが最初に一度だけ移入するルックアップテーブルのようなものです。My SQLがルックアップテーブルの重複挿入を防止する
CREATE TABLE IF NOT EXISTS `type_table` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`type_text` VARCHAR(200),
`create_time` DATETIME NOT NULL,
PRIMARY KEY (`id`),
INDEX (`id`)
);
INSERT INTO `type_table` (`create_time`,`type_text`) VALUES
(now(), 'type1'),
(now(), 'type2');
を許可しないように ''指数は( 'id')' '冗長です。主キーは、すでにインデックスです。 dupe値を挿入したくない場合は、その挿入をキャッチするためにユニークなインデックスを追加する必要があります。現在、唯一のユニークなインデックスは主キーです。 –