这是我的代码: SELECT table1.f_id FROM table1 WHERE table1.f_com_id = '430' AND table1.f_status = 'Submitted' INNER JOIN table2 ON table2.f_id = table1.f_id where table2.f_type = 'InProcess' 我需要来自table1的信息,因为与f_com_id AS 430相关的所有ID和已提交的状态,并且该类型应仅在其他表(table2) 中存储在进程中. f_id是p_key和f_key在两个表中. 但这给我带来了错误,我想我将WHERE条款错误,如何解决.? 错误msg:#1064-您的SQL语法中有一个错误;检查与您的MySQL Server版本相对应的手册,以获取合适的语法 在table2.f_id ='在第2行 上 解决方案 是的,你是对的.您已将WHERE条款错误
以下是关于 mysql-error-1064 的编程技术问答
所以我正在进行一个项目,我几乎完成了它,这个错误使我感到不安,我以为我的数据库没有连接,但它已经连接了,我真的不知道什么是解决方案.它(如果我在给我的问题上错了,请纠正我.)并且我正在使用Visual Studio 2013 我已经通过检查和取消选中来重新连接我的数据库我遇到的错误 解决方案 您应该需要在解决方案资源管理器中的参考部分中添加.dll(从GAC或浏览for File). 其他解决方案 您需要安装软件包mysql.data PM> Install-Package MySql.Data for more check this question: mysql在2012年Visual Studio中不起作用:找不到类型或名称名称'mysql'
是否可以将准备好的语句的结果设置为变量?我正在尝试创建以下存储过程,但失败了: 错误1064(42000)在第31行:您的SQL语法中有错误;检查与您的MySQL Server版本相对应的手册,以获取使用@M,@C,@a; 在附近使用的正确语法 DROP PROCEDURE IF EXISTS deleteAction; DELIMITER $$ CREATE PROCEDURE deleteAction( IN modul CHAR(64), IN controller CHAR(64), IN actn CHAR(64)) MODIFIES SQL DATA BEGIN PREPARE stmt FROM 'SELECT id FROM actions WHERE `module` = ?
我的mysql Server停止后没有启动 命令使用: sudo /etc/init.d/mysql restart 错误: 重新启动mySQL(通过SystemCtl):mysql.servicejob for MySQL.Service 由于使用错误代码退出的控制过程失败. 使用systemctl status mysql.service和journalctl -xe检查状态,没有任何帮助. 错误日志: - 2020-06-23T00:11:48.882919Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use - explicit_defaults_for_timestamp服务器选项(有关更多详细信息,请参见文档). 2020-06-23T00:11:48.883135Z 0 [Warning] Can't create t
我如何无法获得合适的语法来进行简单的尝试/捕获? 我还要做更多的事情吗? 我得到的只是错误1064 ... BEGIN TRY SELECT * FROM NonExistentTable; END TRY BEGIN CATCH SELECT * FROM ExistingTable; END CATCH; GO #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 'TRY SELECT * FROM NonExistentTable' at line 1 谢谢 解决方案 mySQL没有TRY/CATCH功能.您可以使用
我建议的触发器: #START TRIGGER delimiter // DECLARE msg VARCHAR(255); CREATE TRIGGER passStandard_check BEFORE INSERT ON Module FOR EACH ROW BEGIN IF NEW.passStandard 1 THEN set msg = concat('Trigger Error: Pass Standard: ', cast(NEW.passStandard as char)); signal sqlstate '45000' set message_text = msg; END // delimiter ; #END TRIGGER 但是我会收到以下错误: 错误代码:1064.您的SQL语法中有错误;查看与您的MySQL Server版本相对应的手册,以获取正确的语法,以便在附近使用'声明MSG
CREATE TRIGGER b_I_O AFTER UPDATE ON book FOR EACH ROW BEGIN IF (OLD.status IS NOT NULL AND NEW.status IS NOT NULL AND NEW.status != OLD.status ) THEN INSERT INTO book_in_out (astatus, bid, time) VALUES(NEW.status, OLD.id, NOW()); END IF; END; 搜索几个小时后在此处的第一个文章. 更新预订表之后,我正在尝试使用触发器插入book_in_out,我可以执行此操作,但是如果我更新bookName触发器将尝试运行. 我仅希望触发器仅在状态列更改时运行. status列的默认值为NULL 以下是我一直遇到的错误: #1064 - You have an error in your SQL syntax; check the
在发布此问题之前,我已经阅读了我可以很好的回答.尽管相似,但没有人解决我的特定问题(或者我不认识他们这样做). 我有一个表zend_db_table_abstract的表类.在模型中,我正在尝试使用JOIN()方法返回单行,并基于这样的表ID: $getCategoryResults = $this->select(); $getCategoryResults->setIntegrityCheck(false) ->from(array('c'=> 'categories', '*')) ->join(array('e' => 'events'),'c.events_idEvent = e.idEvent', array()) ->where("e.idEvent = ?", $id
我有一个带有mySQL插入查询的程序: $sql = "INSERT INTO people (person_id, name, username, password, email, salt) VALUES ($person_id, $name, $username, $password, $email, $salt)"; if ($con->query($sql) === TRUE) { successful(); } else { unsuccessful("Error: " . $sql . "
" . $con->error); } 运行代码时,我会收到此错误: Error: INSERT INTO people (person_id, name, username, password, email, salt)
我收到的错误消息: 您在SQL语法中有错误;检查与您的MySQL Server版本相对应的手册,以了解要使用的正确语法,以接近" word"," group"," selfnote")value('item','a','a','nock to self'self')在第1行 PHP代码是: $toq="INSERT INTO articles ('word','group','selfnote') VALUES ('$ttle','$wrdr','$snote')"; 我试图找到溶剂素,但它们似乎没有正常工作,因为回声给出: INSERT INTO articles ('word','group','selfnote') VALUES ('item','a','note to self') 对我来说似乎很好.有什么问题? 解决方案 使用Backticks `而不是引号'逃脱名称.引号是字符串定界符. $toq="INSERT INTO a
我有这样的存储过程: CREATE PROCEDURE ProG() BEGIN SELECT * FROM `hs_hr_employee_leave_quota`; END 但给出了错误: #1064 - 您的SQL语法中有错误;检查与您的MySQL Server版本相对应的手册,以获取合适的语法,以接近""第3行 错误是什么意思?第2行有什么问题? 解决方案 您必须在使用触发器,存储过程等之前先更改定界符. delimiter // create procedure ProG() begin SELECT * FROM hs_hr_employee_leave_quota; end;// delimiter ; 其他解决方案 如何找出此mySQL错误试图说什么: #1064 - You have an error in your SQL syntax; 此错误中没有线索.您必须仔细检查所有这些项目,以查看您的错
在向MySQL发出命令时,我会收到错误#1064"语法错误". 这是什么意思? 我该如何修复它? 解决方案 tl; dr 错误#1064表示MySQL无法理解您的命令.修复它: 阅读错误消息.它告诉您 mysql在哪里感到困惑. 检查您的命令.如果您使用编程语言来创建命令,请使用echo,console.log()或等效的内容,以显示 em>整个命令,所以您可以看到它. 检查手册.与MySQL 在此点进行比较,问题通常很明显. 检查保留的单词.如果错误发生在对象标识符上,请检查它不是保留的单词(如果是,请确保正确引用它). aaaagh! #1064 是什么意思? 错误消息可能像Gobbledygook一样,但是它们(通常)非常有用,并提供了足够的细节来查明出了什么问题.通过确切了解MySQL告诉您的内容,您可以武装自己以解决此类问题. 与许多程序中一样,MySQL错误是根据发生的问题的类型编码的. 错误#1064
我正在使用Sybase Power Designer从物理数据模型(Sybase创建SQL文件)创建数据库.当我使用phpmyadmin导入SQL文件时,我会有以下错误: #1064-您的SQL语法中有错误;检查与您的MySQL Server版本相对应的手册,以了解"如果存在"附近使用的正确语法(从sys.sysforeignkey中选择1个角色='fk_artwork_creates_artist'在第7行. . 有什么想法吗?由于物理模型上的错误或还有另一个问题,是否出现此错误? 这是代码: if exists(select 1 from sys.sysforeignkey where role='FK_ARTWORK_HAS_BUY') then alter table artwork delete foreign key FK_ARTWORK_HAS_BUY end if; 解决方案 您遇到的错误是来自mySQL.无论用于生成SQ
我遇到了这个错误: 错误1064(42000):您的SQL语法中有一个错误;检查与您的MySQL Server版本相对应的手册,以获取正确的语法,以便在第1行附近使用" null" 我正在使用存储过程来检索数据,在此中,我正在使用分页 这是我存储的过程代码: CREATE DEFINER=`root`@`%` PROCEDURE `usp_get_product_wall_details`( IN `in_user_id` INT, IN `in_product_name` VARCHAR(50), IN `in_category_id` INT , IN `in_order_by` VARCHAR(50), IN `in_order_type` VARCHAR(50), IN `in_page_no` INT, IN `in_limit` INT ) LANGUAGE SQL NOT DETER
我在表中有一个表和行,如下 CREATE TABLE Areas(AreaName VARCHAR(255), PinCode VARCHAR(255)) INSERT INTO Areas(AreaName, PinCode) VALUES('Teynampet', '6000018'), ('Ramapuram', '6000089'), ('TNagar', '6000017'), ('Mylapore', '6000014'), ('Gopalapuram', '6000087') 我写了一个SQL程序,如下 DROP PROCEDURE IF EXISTS mp_test; CREATE PROCEDURE mp_test(IN pArea VARCHAR(255)) BEGIN SET @
以便使用MySQL动态使用光标是否可以在存储过程的循环中声明光标? 我尝试过并且有一个错误: increment: LOOP DECLARE cur1 CURSOR FOR SELECT person_id, publication_id FROM p_publication WHERE person_id = new_count; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; OPEN cur1; REPEAT FETCH cur1 INTO pub_id, per_id; IF NOT done THEN INSERT INTO test.t2 VALUES (pub_id, per_id); END IF; SET new_count = new_count + 1; UNTIL done END REPEAT; CLOSE cur1; IF !(new_coun
这让我发疯. CREATE DEFINER=`root`@`localhost` PROCEDURE `CalcularCRTarea` (Id_Tarea INT, OUT crTarea decimal(12, 4)) DETERMINISTIC BEGIN DECLARE done BOOLEAN DEFAULT FALSE; DECLARE _id BIGINT UNSIGNED; DECLARE cur CURSOR FOR SELECT Id FROM Tarea_Frente where Id_Item_Tarea = Id_Tarea; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done := TRUE; OPEN cur; testLoop: LOOP FETCH cur INTO _id; IF done THEN LEAVE testLoop; E
UPDATE table1 SET announcer = ( SELECT memberid FROM ( table1 JOIN users ON table2.username = table1.announcer ) AS a WHERE a.username = table1.announcer ) #1064-您的SQL语法中有错误;检查手册 对应于您的MySQL Server 正确的语法版本 附近 a.username = table1.announcer)' 在第1行 解决方案 尝试: UPDATE announcements a SET announcer = (SELECT memberid FROM users u WHERE u.username = a.announcer) 其他解决方案 您也可以在更新中加入 UPDATE announcements JOIN users SET announcements.announcer=us