説明:
ユーザーの設定をデータベースに挿入しようとしています。ユーザーがまだ配置していない場合は、 が必要です。insert
それ以外の場合は、 が必要ですupdate
。ユーザーの作成にデフォルト値を挿入して、を排他的に使用できることはわかっていますupdate
が、それにより別のクエリが追加されます(と思います)
問題:
読み進めましたON DUPLICATE KEY UPDATE
が、よくわかりません。これは私が持っているほぼ正確な質問ですが、答えはありません。答えは言う:
UNIQUE KEYまたはPRIMARY KEYとして定義された適切な列を持っている限り、あなたがやりたいことに対してうまくいくように聞こえます。
私がそのinsert
ように簡単にすると:
INSERT INTO table (color, size) VALUES ('blue', '18') ...
それは でどのように生成されDUPLICATE KEY
ますか? mysql
知る限り、それは単なる別の挿入であり、id
自動インクリメントされます。テーブルの主キーを一意に設定していますが、それinsert
に対してチェックするつもりはありませんよね?
テーブル:
CREATE TABLE `firm_pref` (
`id` int(9) NOT NULL AUTO_INCREMENT,
`firm_id` int(9) NOT NULL, //user_id in this case
`header_title` varchar(99) NOT NULL,
`statement` varchar(99) NOT NULL,
`footer_content` varchar(99) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1