将MYSQL型数据库一个表的某字段的时间值赋予有相同数据结构的另一个表的相同字段, 5

现有两个Mysql型数据库名uesr,uesr1,它们的相同的表B,表B中也有相同的字段C,C1,C2,字段C,C1,C2都字符型,C,C2存储的是日期,比如2014-0... 现有两个Mysql型数据库名uesr,uesr1,它们的相同的表B,表B中也有相同的字段C,C1,C2 ,字段C,C1,C2都字符型,C,C2存储的是日期,比如2014-01-01,C1存储是大于1的整数,在某一个时间段前,比如2013-09-01前,两表C1,C2的值相同,而2013-09-01后,两表C1,C2的值不相同,现需要将2013-09-01前库名uesr1表B字段C的值赋予库名uesr表B字段C ,我的语句是,
INSERT INTO uesr.B (C) SELECT C,C1,C2 FROM uesr1.B where uesr.B.C1=uesr1.B.C1 and uesr.B.C2=uesr1.B.C2 and uesr1.B.C2>’2013-09-01’
但是错误,执行后显示
Unknown column 'C1' in 'where clause'
测试环境
PHP版本: 5.2.6
MYSQL版本: 5.1.28-rc-community 麻烦大神解答一下,谢谢了!
在本地用apmsever5.2.6测试,请写出正确语句
展开
 我来答
阿冬76
2014-11-12 · TA获得超过5028个赞
知道大有可为答主
回答量:2710
采纳率:88%
帮助的人:1099万
展开全部
提示的错误是在where子句中存在一个不认识的列C1,所以要确认一下两个数据库的B表中是否有列C1。
另外,你的代码中有一个严重问题:你要想user数据库的B表中插入C列的值,但是查询结果中包含C、C1、C2三列的值,这肯定不能插入成功,列的数量不匹配啊。
更多追问追答
追问
字段c1肯定存在,
追答
你目前代码中SELECT子句中使用了中文全角的逗号,把代码改为如下试试看:
INSERT INTO uesr.B (C, C1, C2) SELECT C, C1, C2 FROM uesr1.B where uesr.B.C1=uesr1.B.C1 and uesr.B.C2=uesr1.B.C2 and uesr1.B.C2>’2013-09-01’

另外指出一点,要是想与一个日期比较,你目前C2是字符串类型,可能无法正确得到比较的结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式