sql >> データベース >  >> RDS >> Mysql

MySql Insert(存在しない場合は2列のペア)、存在しない場合は更新

    ON DUPLICATE KEY UPDATEを機能させるため ステートメント、uniqueを定義する必要があります 2つの列にキーを押します

    CREATE  TABLE IF NOT EXISTS tbl_member_doc_read 
    (
    `read_id` INTEGER(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
    `member_id` INTEGER(10) UNSIGNED NOT NULL ,
    `doc_id` INTEGER(10) UNSIGNED NOT NULL ,
    `status` INTEGER(1) DEFAULT '0',
    FOREIGN KEY (`member_id`) REFERENCES tbl_member(`member_id`),
    FOREIGN KEY (`doc_id`) REFERENCES tbl_doc(`doc_id`),
    CONSTRAINT tb_uq UNIQUE (member_id, doc_id)
    ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
    

    次に、WHEREを削除します 条項

    INSERT INTO tbl_member_doc_read (member_id, doc_id, status) 
    VALUES(1,2,1) 
    ON DUPLICATE KEY UPDATE 
    status = VALUES(status)
    



    1. PHPデータベースforeach()に無効な引数が指定されました

    2. テーブルの列数を見つける

    3. クエリという名前のJPAのIN句で動的パラメータを使用するにはどうすればよいですか?

    4. PHPフォームからデータベースに複数の行を挿入する