gpt4 book ai didi

php - "WHERE NOT EXISTS"和 "SELECT 1 FROM"的组合不起作用

转载 作者:行者123 更新时间:2023-11-29 02:53:40 24 4
gpt4 key购买 nike

我有一个在 SQLite 中运行的查询,但它在 MySQL 中不起作用。

我正在使用:PHP、PDO、SQLite 和 MySQL

这里是查询:

INSERT INTO mytable (id, name, tag, timestamp)
SELECT 11, 'Legio', 'LR', 1234567
WHERE NOT EXISTS (
SELECT 1 FROM mytable
WHERE id = 11 AND name = 'Legio' AND tag = 'LR' AND timestamp = (
SELECT max(timestamp) FROM mytable WHERE id = 11))

结果是一条错误信息:

Syntax error near 'WHERE NOT EXISTS ( SELECT 1 FROM mytable WHERE id = 11 AND name' at line 3.

MySQL 中的这个查询有什么问题?

是否可以修改此语句以在 MySQL 和 SQLite 中工作???

最佳答案

使用 WHERE 子句时,您需要从表名中进行选择。由于您实际上并不是从真实表中进行选择,因此可以使用特殊表名 DUAL

INSERT INTO mytable (id, name, tag, timestamp)
SELECT 11, 'Legio', 'LR', 1234567
FROM DUAL
WHERE NOT EXISTS (
SELECT 1 FROM mytable
WHERE id = 11 AND name = 'Legio' AND tag = 'LR'
AND timestamp = (
SELECT max(timestamp) FROM mytable WHERE id = 11))

关于php - "WHERE NOT EXISTS"和 "SELECT 1 FROM"的组合不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32975053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com