次のクエリでテーブルを更新しようとしています。
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
切り捨てられたdoubleについて数万のエラー/警告1292が発生しています。問題はどこだ?「誤ったDOUBLE値を切り捨てました」