<small id='KygdB'></small><noframes id='KygdB'>

          <bdo id='KygdB'></bdo><ul id='KygdB'></ul>

        <tfoot id='KygdB'></tfoot>

      1. <i id='KygdB'><tr id='KygdB'><dt id='KygdB'><q id='KygdB'><span id='KygdB'><b id='KygdB'><form id='KygdB'><ins id='KygdB'></ins><ul id='KygdB'></ul><sub id='KygdB'></sub></form><legend id='KygdB'></legend><bdo id='KygdB'><pre id='KygdB'><center id='KygdB'></center></pre></bdo></b><th id='KygdB'></th></span></q></dt></tr></i><div id='KygdB'><tfoot id='KygdB'></tfoot><dl id='KygdB'><fieldset id='KygdB'></fieldset></dl></div>
        <legend id='KygdB'><style id='KygdB'><dir id='KygdB'><q id='KygdB'></q></dir></style></legend>

        如何让 mysqli 在 SQL 语句中使用分隔符?

        时间:2023-07-29
          <legend id='Pj7Ik'><style id='Pj7Ik'><dir id='Pj7Ik'><q id='Pj7Ik'></q></dir></style></legend>

            <bdo id='Pj7Ik'></bdo><ul id='Pj7Ik'></ul>

            <i id='Pj7Ik'><tr id='Pj7Ik'><dt id='Pj7Ik'><q id='Pj7Ik'><span id='Pj7Ik'><b id='Pj7Ik'><form id='Pj7Ik'><ins id='Pj7Ik'></ins><ul id='Pj7Ik'></ul><sub id='Pj7Ik'></sub></form><legend id='Pj7Ik'></legend><bdo id='Pj7Ik'><pre id='Pj7Ik'><center id='Pj7Ik'></center></pre></bdo></b><th id='Pj7Ik'></th></span></q></dt></tr></i><div id='Pj7Ik'><tfoot id='Pj7Ik'></tfoot><dl id='Pj7Ik'><fieldset id='Pj7Ik'></fieldset></dl></div>
                <tbody id='Pj7Ik'></tbody>
              <tfoot id='Pj7Ik'></tfoot>

              <small id='Pj7Ik'></small><noframes id='Pj7Ik'>

                  本文介绍了如何让 mysqli 在 SQL 语句中使用分隔符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我正在使用 mysqli,现在尝试从 SQL 代码片段(由 MySQL Workbench 生成)获取视图到数据库中.

                  I'm using mysqli and trying now to get a view from an SQL code snippet (generated by MySQL Workbench) into a database.

                  $query = <<<QUERY
                  DROP VIEW IF EXISTS `myview` ;
                  SHOW WARNINGS;
                  DROP TABLE IF EXISTS `myview`;
                  SHOW WARNINGS;
                  DELIMITER $$
                  CREATE OR REPLACE VIEW `myview` AS
                  
                  ...view definition...
                  
                  $$
                  DELIMITER ;
                  
                  ;
                  SHOW WARNINGS;
                  
                  SET SQL_MODE=@OLD_SQL_MODE;
                  SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
                  SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
                  QUERY;
                  
                  $result = mysqli_multi_query($dbConnection, $query);
                  

                  这行不通.没有错误,该语句似乎只是被忽略了.它仅适用于,如果我删除分隔符定义(行 DELIMITER $$$$DELIMITER ;).

                  This doen't work. No errors, the statement seems just to be ignored. It only works, if I remove the delimiter definitions (lines DELIMITER $$, $$, and DELIMITER ;).

                  为什么它不起作用?在传递给 mysqli 函数和方法的 SQL 语句中使用分隔符可以/应该做什么?

                  Why is it not working? What can/should I do to use delimiters in SQL statements passed to mysqli functions and methods?

                  谢谢

                  推荐答案

                  这是帮助我理解这一点的来源...http://zend-framework-community.634137.n4.nabble.com/Problems-changed-the-sql-end-of-statement-delimiter-tp2124060p2124276.html

                  This is the source that helped me understand this... http://zend-framework-community.634137.n4.nabble.com/Problems-changing-the-sql-end-of-statement-delimiter-tp2124060p2124276.html

                  DELIMITER 不是真正的 MySQL 语句.

                  DELIMITER is not an actual MySQL Statement.

                  我相信这只是一些 MySQL 客户端实现的东西,以帮助同时传送一堆 sql 语句.

                  I believe it is just something that some MySQL clients have implemented to help shipping a bunch of sql statements at the same time.

                  mysqli 驱动程序没有实现这个功能.

                  所以,这应该可行.

                  $query = <<<QUERY
                  DROP VIEW IF EXISTS `myview` ;
                  SHOW WARNINGS;
                  DROP TABLE IF EXISTS `myview`;
                  SHOW WARNINGS;
                  
                  CREATE OR REPLACE VIEW `myview` AS
                  
                  ...view definition...
                  
                  ;
                  SHOW WARNINGS;
                  
                  SET SQL_MODE=@OLD_SQL_MODE;
                  SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
                  SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
                  QUERY;
                  
                  $result = mysqli_multi_query($dbConnection, $query);
                  

                  我遇到了同样的问题,使用相同的 mysqli 驱动程序,使用 multi_query 函数(在创建过程时使用分隔符)并从我的 SQL 中删除 DELIMITER 工作.

                  I ran into the same problem, with the same mysqli driver, with multi_query function (using delimiters while creating procedures) and removing the DELIMITER from my SQL worked.

                  这篇关于如何让 mysqli 在 SQL 语句中使用分隔符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:分页的最低限度? 下一篇:在 mysqli 中存储和迭代查询结果

                  相关文章

                  最新文章

                  <small id='KeXG9'></small><noframes id='KeXG9'>

                  <tfoot id='KeXG9'></tfoot>
                • <legend id='KeXG9'><style id='KeXG9'><dir id='KeXG9'><q id='KeXG9'></q></dir></style></legend>
                  • <bdo id='KeXG9'></bdo><ul id='KeXG9'></ul>

                    <i id='KeXG9'><tr id='KeXG9'><dt id='KeXG9'><q id='KeXG9'><span id='KeXG9'><b id='KeXG9'><form id='KeXG9'><ins id='KeXG9'></ins><ul id='KeXG9'></ul><sub id='KeXG9'></sub></form><legend id='KeXG9'></legend><bdo id='KeXG9'><pre id='KeXG9'><center id='KeXG9'></center></pre></bdo></b><th id='KeXG9'></th></span></q></dt></tr></i><div id='KeXG9'><tfoot id='KeXG9'></tfoot><dl id='KeXG9'><fieldset id='KeXG9'></fieldset></dl></div>