状态问题
除了MySQL服务器中第一个col为PK和auto_increment外,col“ C ”为STRING / VARCHAR。如何在“ C ”列上使用INSERT ... ON DUPLICATE KEY UPDATE。
我也应该将col“ C ”设置为UNIQUE吗?
示例
假设我在MySQL服务器中的表与此类似...
---------------------------
|ID(PK)| A | B | C | D | E |
+------+---+---+---+---+---+
| 1 | | | | | |
| 2 | | | | | |
| 3 | | | | | |
---------------------------
我期望的结果
必须从MySQL服务器中忽略重复的输入。
如果重复项已作为“此查询已存在。” ??我是否也可以发送警报弹出窗口/会话弹出窗口?
答案 0 :(得分:0)
必须将列C设置为NOT NULL,UNIQUE,然后SQL将针对尝试重复值插入返回错误。您可以在后端代码中处理该错误。或者,您也可以使用“ ON DUPLICATE KEY UPDATE”子句来处理和更改重复值:
INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;