Flupdo  v1.3-5-ge5a1c59
Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
InsertBuilder Class Reference

Description

Flupdo Builder for INSERT statement.

http://dev.mysql.com/doc/refman/5.5/en/insert.html

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
 [INTO] tbl_name [(col_name,...)]
 {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
 [ ON DUPLICATE KEY UPDATE
   col_name=expr
     [, col_name=expr] ... ]

– OR –

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
 [INTO] tbl_name
 SET col_name={expr | DEFAULT}, ...
 [ ON DUPLICATE KEY UPDATE
   col_name=expr
    [, col_name=expr] ... ]

– OR –

INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE]
 [INTO] tbl_name [(col_name,...)]
 SELECT ...
 [ ON DUPLICATE KEY UPDATE
   col_name=expr
     [, col_name=expr] ... ]

Inheritance diagram for InsertBuilder

Public Member Functions

 headerComment ($sql_statement,...)
 Replaces content of buffer -- HEADER with $sql_statement. More...
 
 insert ($sql_statement,...)
 Appends $sql_statement to buffer INSERT. More...
 
 into ($sql_statement,...)
 Replaces content of buffer INTO with $sql_statement. More...
 
 lowPriority ()
 Sets content of buffer PRIORITY to LOW_PRIORITY. More...
 
 delayed ()
 Sets content of buffer PRIORITY to DELAYED. More...
 
 highPriority ()
 Sets content of buffer PRIORITY to HIGH_PRIORITY. More...
 
 ignore ()
 Sets content of buffer IGNORE to IGNORE. More...
 
 values ($sql_statement,...)
 Appends $sql_statement to buffer VALUES. More...
 
 set ($sql_statement,...)
 Appends $sql_statement to buffer SET. More...
 
 select ($sql_statement,...)
 Appends $sql_statement to buffer SELECT. More...
 
 all ()
 Sets content of buffer DISTINCT to ALL. More...
 
 distinct ()
 Sets content of buffer DISTINCT to DISTINCT. More...
 
 distinctRow ()
 Sets content of buffer DISTINCT to DISTINCTROW. More...
 
 straightJoin ($sql_statement,...)
 Appends $sql_statement prefixed with STRAIGHT_JOIN to buffer JOIN. More...
 
 from ($sql_statement,...)
 Replaces content of buffer FROM with $sql_statement. More...
 
 join ($sql_statement,...)
 Appends $sql_statement prefixed with JOIN to buffer JOIN. More...
 
 innerJoin ($sql_statement,...)
 Appends $sql_statement prefixed with INNER JOIN to buffer JOIN. More...
 
 crossJoin ($sql_statement,...)
 Appends $sql_statement prefixed with CROSS JOIN to buffer JOIN. More...
 
 leftJoin ($sql_statement,...)
 Appends $sql_statement prefixed with LEFT JOIN to buffer JOIN. More...
 
 rightJoin ($sql_statement,...)
 Appends $sql_statement prefixed with RIGHT JOIN to buffer JOIN. More...
 
 leftOuterJoin ($sql_statement,...)
 Appends $sql_statement prefixed with LEFT OUTER JOIN to buffer JOIN. More...
 
 rightOuterJoin ($sql_statement,...)
 Appends $sql_statement prefixed with RIGHT OUTER JOIN to buffer JOIN. More...
 
 naturalLeftJoin ($sql_statement,...)
 Appends $sql_statement prefixed with NATURAL LEFT JOIN to buffer JOIN. More...
 
 naturalRightJoin ($sql_statement,...)
 Appends $sql_statement prefixed with NATURAL RIGHT JOIN to buffer JOIN. More...
 
 naturalLeftOuterJoin ($sql_statement,...)
 Appends $sql_statement prefixed with NATURAL LEFT OUTER JOIN to buffer JOIN. More...
 
 naturalRightOuterJoin ($sql_statement,...)
 Appends $sql_statement prefixed with NATURAL RIGHT OUTER JOIN to buffer JOIN. More...
 
 where ($sql_statement,...)
 Appends $sql_statement to buffer WHERE. More...
 
 groupBy ($sql_statement,...)
 Appends $sql_statement to buffer GROUP BY. More...
 
 having ($sql_statement,...)
 Appends $sql_statement to buffer HAVING. More...
 
 orderBy ($sql_statement,...)
 Appends $sql_statement to buffer ORDER BY. More...
 
 limit ($sql_statement,...)
 Replaces content of buffer LIMIT with $sql_statement. More...
 
 offset ($sql_statement,...)
 Replaces content of buffer OFFSET with $sql_statement. More...
 
 onDuplicateKeyUpdate ($sql_statement,...)
 Appends $sql_statement to buffer ON DUPLICATE KEY UPDATE. More...
 
 footerComment ($sql_statement,...)
 Replaces content of buffer -- FOOTER with $sql_statement. More...
 
- Public Member Functions inherited from FlupdoBuilder
 __construct ($pdo, $log_query=false, $log_explain=false, $no_parenthesis_in_conditions=false)
 Constructor. More...
 
 __call ($method, $args)
 Call buffer-specific method to process arguments. More...
 
 quoteIdent ($ident)
 Quote identifier, preserve dot. More...
 
 compile ()
 Call compile function in a safe way. More...
 
 uncompile ()
 "Uncompile" the query. More...
 
 debugDump ()
 Fluently dump query to error log. More...
 
 getSqlQuery ()
 Get compiled SQL query, use only for debugging. More...
 
 getSqlParams ()
 Get parameters for compiled SQL query, use only for debugging. More...
 
 quote ($value)
 Quotes a string for use in a query. More...
 
 rawSql ($sql)
 Returns object marking raw SQL statement. More...
 
 exec ()
 Builds and executes an SQL statement, returning the number of affected rows. More...
 
 query ()
 Builds, binds and executes an SQL statement, returning a result set as a PDOStatement object. More...
 
 prepare ($driver_options=array())
 Builds and prepares a statement for execution, returns a statement object. More...
 
 lastInsertId ()
 Proxy to PDO::lastInsertId(). More...
 
 fetchSingleRow ()
 Fetch one row from result and close cursor. More...
 
 fetchSingleValue ()
 Fetch one row from result and close cursor. More...
 
 fetchAll ($key_column=null)
 Fetch everything into array. More...
 
 __toString ()
 Get SQL query as a string. More...
 

Protected Member Functions

 compileQuery ()
 Process all buffers and build SQL query. More...
 
- Protected Member Functions inherited from FlupdoBuilder
 add ($args, $buffer_id)
 Add SQL fragment to buffer. More...
 
 replace ($args, $buffer_id)
 Replace buffer content with SQL fragment. More...
 
 setFlag ($args, $buffer_id, $label)
 Set flag. More...
 
 addJoin ($args, $buffer_id, $label)
 Add join statement to buffer. More...
 
 compileQuery ()
 Process all buffers and build SQL query. More...
 
 explain ()
 Explain the query and dump result to log. More...
 
 sqlStart ()
 Start SQL generating. More...
 
 sqlFinish ()
 Finish SQL generating. More...
 
 sqlBuffer ($buf)
 Add SQL with parameters. More...
 
 sqlRawBuffer ($buf)
 Generate raw SQL fragment. More...
 
 sqlComment ($buffer_id)
 Generate SQL comment. More...
 
 sqlFlag ($buffer_id)
 Generate flag fragment. More...
 
 sqlStatementFlags ($buffer_id, $flag_buffer_ids, $decorations)
 Generate SQL fragment made of flags. More...
 
 sqlList ($buffer_id, $decorations)
 Generate SQL fragment made of list. More...
 
 sqlValuesList ($buffer_id)
 Generate SQL fragment made of list values. More...
 
 sqlJoins ($buffer_id)
 Generate SQL fragment made of joins. More...
 
 sqlConditions ($buffer_id)
 Generate SQL fragment made of conditions in AND statement. More...
 

Static Protected Attributes

static $methods
 
- Static Protected Attributes inherited from FlupdoBuilder
static $clauses = array()
 List of clauses used to composed result query. More...
 
static $methods = array()
 List of methods used to fill the $buffers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from FlupdoBuilder
static generateDoxygenDocumentation ()
 Generate documentation for methods defined in $methods array. More...
 
- Public Attributes inherited from FlupdoBuilder
 $pdo
 PDO driver used to execute query and escape strings. More...
 
const INDENT = 0x01
 List items should be indented. More...
 
const LABEL = 0x02
 SQL fragment has a label. More...
 
const BRACKETS = 0x04
 There are brackets around each item in the list. More...
 
const NO_SEPARATOR = 0x08
 No separator between list items. More...
 
const SUB_INDENT = 0x20
 Indent more the first line. More...
 
const COMMA = 0x40
 Add comma after the SQL fragment. More...
 
const EOL = 0x80
 Add EOL after the SQL fragment. More...
 
const ALL_DECORATIONS = 0xFF
 Make it fancy! More...
 
- Protected Attributes inherited from FlupdoBuilder
 $log_query
 Log all queries as they are executed. More...
 
 $log_explain
 Explain each query to log. More...
 
 $no_parenthesis_in_conditions
 Sphinx does not like parenthesis in WHERE. More...
 
 $can_explain = false
 Is it possible to explain this query? More...
 
 $indent = "\t"
 Indentation string. More...
 
 $sub_indent = "\t::t"
 Second level indentation string. More...
 
 $query_sql = null
 Built query. More...
 
 $query_params = null
 Parameters for prepared statement (to be bound before query is executed). More...
 
 $buffers = array()
 Buffers containing SQL fragments. More...
 

Member Function Documentation

◆ compileQuery()

compileQuery ( )
protected

Process all buffers and build SQL query.

Side product is array of parameters (stored in $this->args) to bind with query.

This function is called by FlupdoBuilder, do not call it directly.

Example:

$this->sqlStart();
// ...
return $this->sqlFinish();

◆ headerComment()

headerComment (   $sql_statement,
  ... 
)

Replaces content of buffer -- HEADER with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ insert()

insert (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer INSERT.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ into()

into (   $sql_statement,
  ... 
)

Replaces content of buffer INTO with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ lowPriority()

lowPriority ( )

Sets content of buffer PRIORITY to LOW_PRIORITY.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ delayed()

delayed ( )

Sets content of buffer PRIORITY to DELAYED.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ highPriority()

highPriority ( )

Sets content of buffer PRIORITY to HIGH_PRIORITY.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ ignore()

ignore ( )

Sets content of buffer IGNORE to IGNORE.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ values()

values (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer VALUES.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ set()

set (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer SET.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ select()

select (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer SELECT.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ all()

all ( )

Sets content of buffer DISTINCT to ALL.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ distinct()

distinct ( )

Sets content of buffer DISTINCT to DISTINCT.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ distinctRow()

distinctRow ( )

Sets content of buffer DISTINCT to DISTINCTROW.

Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ straightJoin()

straightJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with STRAIGHT_JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ from()

from (   $sql_statement,
  ... 
)

Replaces content of buffer FROM with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ join()

join (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ innerJoin()

innerJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with INNER JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ crossJoin()

crossJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with CROSS JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ leftJoin()

leftJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with LEFT JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ rightJoin()

rightJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with RIGHT JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ leftOuterJoin()

leftOuterJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with LEFT OUTER JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ rightOuterJoin()

rightOuterJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with RIGHT OUTER JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ naturalLeftJoin()

naturalLeftJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with NATURAL LEFT JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ naturalRightJoin()

naturalRightJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with NATURAL RIGHT JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ naturalLeftOuterJoin()

naturalLeftOuterJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with NATURAL LEFT OUTER JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ naturalRightOuterJoin()

naturalRightOuterJoin (   $sql_statement,
  ... 
)

Appends $sql_statement prefixed with NATURAL RIGHT OUTER JOIN to buffer JOIN.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ where()

where (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer WHERE.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ groupBy()

groupBy (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer GROUP BY.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ having()

having (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer HAVING.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ orderBy()

orderBy (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer ORDER BY.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ limit()

limit (   $sql_statement,
  ... 
)

Replaces content of buffer LIMIT with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ offset()

offset (   $sql_statement,
  ... 
)

Replaces content of buffer OFFSET with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ onDuplicateKeyUpdate()

onDuplicateKeyUpdate (   $sql_statement,
  ... 
)

Appends $sql_statement to buffer ON DUPLICATE KEY UPDATE.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

◆ footerComment()

footerComment (   $sql_statement,
  ... 
)

Replaces content of buffer -- FOOTER with $sql_statement.

Parameters
$sql_statementSQL statement (a fragment of SQL query) with placeholders.
...Values of placeholders (when positional placeholders are used).
Note
This method is generated from FlupdoBuilder::$methods array. See compileQuery() method for buffer usage.

Member Data Documentation

◆ $methods

$methods
staticprotected