“Instead of” Triggers in mysql

前端 未结 2 1362
再見小時候
再見小時候 2020-12-19 18:42

I have a customer.

CREATE TABLE `customer` (
    `cNic` VARCHAR(50) NOT NULL DEFAULT \'\',
    `cName` VARCHAR(100) NULL DEFAULT NULL,
    `cAddress` VARCHAR         


        
相关标签:
2条回答
  • 2020-12-19 19:10

    MySQL does not have instead of triggers, but it does have REPLACE and INSERT...ON DUPLICATE KEY UPDATE (see documentation).

    Also see my answer to "INSERT IGNORE" vs "INSERT ... ON DUPLICATE KEY UPDATE"

    0 讨论(0)
  • 2020-12-19 19:18

    Another thing that worth notice is views in MySQL are updatable, meaning that your insert or update statement on views will automatically operate on your base table. Of course under the condition that your insert or update action won't cause any ambiguity.

    For example you have a table R(A, B) which has one tuple (1, 2). And the view V(A) is (1). If you add (10) to V, it will cause ambiguity since MySQL doesn't know it should insert (10, 1) or (10, 2) or (10, NULL) in the base table.

    More information here

    0 讨论(0)
提交回复
热议问题