当前位置: 首页 > 面试题库 >

WHERE NOT EXIST附近的语法错误

何琨
2023-03-14
问题内容

我在堆栈中搜索,但没有一个达到最终答案。我的查询是这样的:

    INSERT INTO用户(用户名,频率,自动发送) 
    VALUES('feri2','3','1') 
    不存在的地方(SELECT * FROM WHERE username ='feri2')

运行时,我收到语法分析错误:

SQLSTATE[42000]: Syntax error or access violation: 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 * FROM user WHERE username='feri2')' at line 1

我不知道该如何解决,问题出在哪里?


问题答案:

您需要稍微更改语法,请尝试以下操作:

INSERT INTO user (username,frequence,autoSend)
SELECT * FROM (SELECT 'feri2','3','1') AS `values`
WHERE NOT EXISTS (
    SELECT username FROM user WHERE username='feri2'
) LIMIT 1;


 类似资料:
  • 首先,有类似的问题,比如1,2,3,4,5,但没有提到解决这个问题的答案。 LogCat错误 09-02 05:27:31.213: E/SQLiteDatabase(8442):错误插入日=2个月=9值=3.0年=2015 09-02 05:27:31.213: E/SQLiteDatabase(8442):android.database.sqlite.SQLiteExc0019:近空:语法错

  • 问题内容: 我有一个小查询,并在其旁边放了一个联合查询。但是,联合中存在语法错误。 这是我收到的错误 问题答案: 我知道出了什么问题。您必须在查询的末尾且仅在末尾下订单。它给了我一个错误,因为它认为查询已结束。 做到了。

  • 这是我的代码: LogCat说:12-11 23:43:50.553:E/AndroidRuntime(3706):android.database.sqlite.sqliteException:“create ;table”附近:语法错误(代码1):,编译时:create ;table PapersTable(_id integer ;primary ;key ;autoincrement,ti

  • 我只是想创建一个包含一列的表,并向其中添加一些值,但我得到了两个错误。一种是取消对db.close()的注释;句柄关闭太快,另一个是下面是代码。

  • 问题内容: 我创建了这个表: 我尝试运行以下postgres脚本: 为什么会出现此语法错误? 问题答案: 支持版本 根据以上@klin的评论,仅 PostgreSQL 9.5及 更高版本支持。 独特的约束 在添加唯一索引。目前,该列上没有任何约束,因此该列上没有冲突的可能性。 但是,如果您不希望该列是唯一的,那么您打算遇到什么冲突/您希望通过该操作解决的问题是什么? 请参阅https://www.

  • 问题内容: 我键入的代码与《 Linux命令行:完整介绍》 (第369页)相同,但提示错误: 代码是这样的: 我想了解是什么导致了错误?如何修改代码?我的系统是Ubuntu。 问题答案: 和之间必须有一个空格,如下所示: 这些(及其组合)也都是 不正确的 : 另一方面,这些都可以: 顺便说一句,这些是等效的: 这些也等效: 而且,您的脚本的中间部分应该像这样更好: (我也将引号中的引号删除了,因为