火车采集器官方博客
如何在入库模块中添加null值
post by:小文 2013-7-12 10:27

用户的需求是这样的

入库句子 INSERT INTO SKU (gysid,cbbid) VALUES ([标签:gysid],[标签:cbbid])
sku表的cbbid是外键字段,当采集没有字符时,目前是‘’,换成句子就变成 INSERT INTO SKU (gysid,cbbid) VALUES (1,) 这是报错的
需要 INSERT INTO SKU (gysid,cbbid) VALUES (1,null)就不会报错
解决方法很简单,就是在标签的 数据处理 空内容缺省值 中填写个 null 即可的。

但这样会出另一个问题。如果用户的入库语句是这样的 INSERT INTO SKU (gysid,cbbid) VALUES ([标签:gysid],'[标签:cbbid]') 注意是加了引号。也就是说cbbid是个字符串的字段,那这样写的话,就插入的是 'null' 这个字符串,有什么办法呢?也很简单,使用更新语句。我们在入库的语句后再加一个语句,比如 Update SKU set cbbid=null where cbbid='null'

评论:
wy
2014-03-06 22:10 回复
INSERT INTO SKU (gysid,cbbid) select '[标签:gysid]',if('[标签:cbbid]'='',null,'[标签:cbbid]')
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容