我有一个顾客。
CREATE TABLE `customer` ( `cNic` VARCHAR(50) NOT NULL DEFAULT '', `cName` VARCHAR(100) NULL DEFAULT NULL, `cAddress` VARCHAR(500) NULL DEFAULT NULL, `cTp` VARCHAR(50) NULL DEFAULT NULL, `cEmail` VARCHAR(50) NULL DEFAULT NULL, `creditLimit` DOUBLE NULL DEFAULT NULL, `CustomerStatus` INT(11) NULL DEFAULT '0', PRIMARY KEY (`cNic`) )
当将新行添加到此客户表时,如果cNic新行的(主键)已经在客户表中,则我想使用其他字段对现有(旧)行进行更新。(Update customer set cName='NewName' where cNic = 'enteredNic')。
cNic
Update customer set cName='NewName' where cNic = 'enteredNic'
否则(如果cNic不在表中)插入新行。我知道我可以使用instead of触发器在mssql中做到这一点。有没有一种方法可以在mysql中做到这一点。
instead of
MySQL没有触发器,但是它具有REPLACE和INSERT … ON DUPLICATE KEY UPDATE(请参阅文档)。