【发布时间】:2012-10-30 13:47:12
【问题描述】:
我正在尝试执行以下查询
INSERT INTO test (trans_id, voucher_id, trans_date, ledger_code_1,
company_code,trans_type, trans_amount)
VALUES (1, 1,'2012/04/01','2001', '8523a95b-5425-46be-89ed-ebd592846845',
'Payment', -30)
WHERE NOT EXISTS(SELECT trans_id, ledger_code_1
FROM test
WHERE trans_id = 1 AND ledger_code_1 = '2001')
它给出错误。我哪里错了?
1064 - 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 附近 不存在的地方(从 test where 中选择 trans_id,ledger_code_1 **trans_id = 1 and' 在第 1 行
还有其他解决方案吗?我有主键作为自动编号..
【问题讨论】:
-
报错...什么错误?
-
#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,以便在第 1 行的“不存在的地方(从 test where trans_id = 1 中选择 trans_id、ledger_code_1 和”附近)使用正确的语法
-
因为
INSERT语句不能有WHERE子句,除非它是INSERT INTO...SELECT语句