statements[0]; $this->assertEquals( 'INSERT INTO tbl(`col1`, `col2`, `col3`) VALUES (1, "str", 3.14)', $stmt->build() ); /* Assertion 2 */ /* Reserved keywords (with backqoutes as field name) */ $parser = new Parser( 'INSERT INTO tbl(`order`) VALUES (1)' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl(`order`) VALUES (1)', $stmt->build() ); /* Assertion 3 */ /* INSERT ... SET ... */ $parser = new Parser( 'INSERT INTO tbl SET FOO = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SET FOO = 1', $stmt->build() ); /* Assertion 4 */ /* INSERT ... SELECT ... */ $parser = new Parser( 'INSERT INTO tbl SELECT * FROM bar' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SELECT * FROM bar', $stmt->build() ); /* Assertion 5 */ /* INSERT ... ON DUPLICATE KEY UPDATE ... */ $parser = new Parser( 'INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT INTO tbl SELECT * FROM bar ON DUPLICATE KEY UPDATE baz = 1', $stmt->build() ); /* Assertion 6 */ /* INSERT [OPTIONS] INTO ... */ $parser = new Parser( 'INSERT DELAYED IGNORE INTO tbl SELECT * FROM bar' ); $stmt = $parser->statements[0]; $this->assertEquals( 'INSERT DELAYED IGNORE INTO tbl SELECT * FROM bar', $stmt->build() ); } }