I have a customer.
CREATE TABLE `customer` (
`cNic` VARCHAR(50) NOT NULL DEFAULT \'\',
`cName` VARCHAR(100) NULL DEFAULT NULL,
`cAddress` VARCHAR
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"
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