Mysql批量更新:哪种方法正确?

时间:2016-08-09 05:53:32

标签: php mysql sql

我找到了几个关于 Mysql批量更新的问题和答案。并从这些问题中找到了很好的解决方案 - question1question2

所以我的表看起来像这样。

订户

名字 | 姓氏 | subscriberid | inactivereason | statusflag

下面,

名字 => VARCHAR - 不为空

姓氏 => VARCHAR - 不为空

subscriberid => BIGINT - 主键非空唯一

inactivereason => VARCHAR - NULL(默认)

statusflag => ENUM('是','否') - 不为空

我使用了以下查询。

INSERT INTO subscriber (subscriberid,inactivereason,statusflag) VALUES (1002,"nothing","YES"),(1003,"NO Reason","YES"),(1004,"No valid Data","YES"),(1001,"Poor quality","YES")
ON DUPLICATE KEY UPDATE inactivereason=VALUES(inactivereason),statusflag=VALUES(statusflag);

但我收到以下错误

  

错误代码:1364。字段'名字'没有默认值

但我无法为firstname设置任何默认值。这是强制性的吗?

那我怎么解决这个问题呢?我无法承担性能风险,因为我有超过10万的订阅者。

请建议我最好的方法。

0 个答案:

没有答案