我有一个名为sales的mysql数据库表,其中列id | timeStamp | timeString | EAN,如果ID尚不存在于表格中,我想插入新值。如果ID“9997a04fe3f932bf6f8e9d88f4b8dc96”尚未进入前SQL只向MYSQL表中插入一个新行,如果id不存在
9997a04fe3f932bf6f8e9d88f4b8dc96 | 0000003082461 | 11:07 (Thu. 22 May. 2014 | 1400716800
到数据库表:比如我可能需要添加。
到目前为止,我已经写的SQL看起来是这样的:(使用1234为虚值,已经有在表中的行与和11D)
INSERT INTO `sales`(`id`, `timeStamp`, `timeString`, `EAN`) VALUES (1,2,3,4)
WHERE NOT EXISTS (
SELECT `id` FROM `sales` WHERE `id` = '1'
)
请帮我得到这个SQL声明工作。目前,此报告的语法错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE NOT EXISTS (SELECT `id` FROM `sales` WHERE `id` = 1 ' at line 2
为什么你试图在PHP这样做在SQL UND不是(读取记录与标识,如果不存在将其插入)。 – Jens
你不能在插入where子句。您可以使用INSERT ... ON DUPLICATE KEY http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html或INSERT IGNORE –
如果有记录,您希望发生什么已经?只需完全跳过插入,或更新一些值? – Cylindric