我正在尝试使用以下查询更新表:
UPDATE test.t1
SET obrigatorios = (SELECT quantidade FROM test.tcur WHERE tipo = 3)
WHERE perfil IN (7, 11);
或者这个查询,应该做同样的事情:
UPDATE test.t1 a, test.tcur b
SET a.obrigatorios = b.quantidade
WHERE a.perfil IN (7, 11)
AND b.tipo = 3;
表 tcur 具有以下结构:
CREATE TABLE `tcur` (\
`quantidade` int(11) default NULL,\
`tipo` int(11) default NULL,\
`descritivo` varchar(12) default NULL\
) ENGINE=MyISAM DEFAULT CHARSET=latin1
表 t1 是这样的:
CREATE TABLE `t1` (\
`qtd` bigint(20) NOT NULL default '0',\
`qtd_vt_disp` int(11) NOT NULL default '0',\
`perfil` binary(11) default NULL,\
`obrigatorios` int(11) NOT NULL default '0'\
) ENGINE=MyISAM DEFAULT CHARSET=latin1
我收到数以万计的关于截断双精度的错误/警告 1292。哪里有问题?“截断不正确的 DOUBLE 值”