Update() public method

nothing has been pre-consumed
 'UPDATE' 'LOW_PRIORITY'? 'IGNORE'? table_reference 'SET' colName ('='|':=') (expr|'DEFAULT') (',' colName ('='|':=') (expr|'DEFAULT')) ('WHERE' cond)? {singleTable}? => ('ORDER' 'BY' orderBy)?  ('LIMIT' Count)? 
コード例 #1
0
 public virtual void TestUpdate()
 {
     var sql = "upDate LOw_PRIORITY IGNORE test.t1 sEt t1.col1=?, col2=DefaulT";
     var lexer = new MySqlLexer(sql);
     var parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
     var update = parser.Update();
     var output = Output2MySql(update, sql);
     Assert.IsNotNull(update);
     Assert.AreEqual("UPDATE LOW_PRIORITY IGNORE test.t1 SET t1.col1 = ?, col2 = DEFAULT", output);
     sql = "upDate  IGNORE (t1) set col2=DefaulT order bY t1.col2 ";
     lexer = new MySqlLexer(sql);
     parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
     update = parser.Update();
     output = Output2MySql(update, sql);
     Assert.AreEqual("UPDATE IGNORE t1 SET col2 = DEFAULT ORDER BY t1.col2", output);
     sql = "upDate   (test.t1) SET col2=DefaulT order bY t1.col2 limit ? offset 1";
     lexer = new MySqlLexer(sql);
     parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
     update = parser.Update();
     output = Output2MySql(update, sql);
     Assert.AreEqual("UPDATE test.t1 SET col2 = DEFAULT ORDER BY t1.col2 LIMIT 1, ?", output);
     sql = "upDate LOW_PRIORITY  t1, test.t2 SET col2=DefaulT , col2='123''4'";
     lexer = new MySqlLexer(sql);
     parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
     update = parser.Update();
     output = Output2MySql(update, sql);
     Assert.AreEqual("UPDATE LOW_PRIORITY t1, test.t2 SET col2 = DEFAULT, col2 = '123\\'4'", output);
     sql = "upDate LOW_PRIORITY  t1, test.t2 SET col2:=DefaulT , col2='123''4' where id='a'";
     lexer = new MySqlLexer(sql);
     parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
     update = parser.Update();
     output = Output2MySql(update, sql);
     Assert.AreEqual("UPDATE LOW_PRIORITY t1, test.t2 SET col2 = DEFAULT, col2 = '123\\'4' WHERE id = 'a'",
         output);
 }
コード例 #2
0
        public virtual void TestUpdate()
        {
            var sql    = "upDate LOw_PRIORITY IGNORE test.t1 sEt t1.col1=?, col2=DefaulT";
            var lexer  = new MySqlLexer(sql);
            var parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
            var update = parser.Update();
            var output = Output2MySql(update, sql);

            Assert.IsNotNull(update);
            Assert.AreEqual("UPDATE LOW_PRIORITY IGNORE test.t1 SET t1.col1 = ?, col2 = DEFAULT", output);
            sql    = "upDate  IGNORE (t1) set col2=DefaulT order bY t1.col2 ";
            lexer  = new MySqlLexer(sql);
            parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
            update = parser.Update();
            output = Output2MySql(update, sql);
            Assert.AreEqual("UPDATE IGNORE t1 SET col2 = DEFAULT ORDER BY t1.col2", output);
            sql    = "upDate   (test.t1) SET col2=DefaulT order bY t1.col2 limit ? offset 1";
            lexer  = new MySqlLexer(sql);
            parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
            update = parser.Update();
            output = Output2MySql(update, sql);
            Assert.AreEqual("UPDATE test.t1 SET col2 = DEFAULT ORDER BY t1.col2 LIMIT 1, ?", output);
            sql    = "upDate LOW_PRIORITY  t1, test.t2 SET col2=DefaulT , col2='123''4'";
            lexer  = new MySqlLexer(sql);
            parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
            update = parser.Update();
            output = Output2MySql(update, sql);
            Assert.AreEqual("UPDATE LOW_PRIORITY t1, test.t2 SET col2 = DEFAULT, col2 = '123\\'4'", output);
            sql    = "upDate LOW_PRIORITY  t1, test.t2 SET col2:=DefaulT , col2='123''4' where id='a'";
            lexer  = new MySqlLexer(sql);
            parser = new MySqlDmlUpdateParser(lexer, new MySqlExprParser(lexer));
            update = parser.Update();
            output = Output2MySql(update, sql);
            Assert.AreEqual("UPDATE LOW_PRIORITY t1, test.t2 SET col2 = DEFAULT, col2 = '123\\'4' WHERE id = 'a'",
                            output);
        }