Kotchasan Framework Documentation

Kotchasan Framework Documentation

Kotchasan\QueryBuilder\InsertBuilder

EN 05 Feb 2026 06:23

Kotchasan\QueryBuilder\InsertBuilder

InsertBuilder creates INSERT queries.

Usage

use Kotchasan\Database;

$db = Database::create();

// Basic INSERT
$id = $db->insert('users')
    ->values([
        'name' => 'John Doe',
        'email' => 'john@example.com',
        'status' => 'active'
    ])
    ->execute();

echo "Inserted user ID: {$id}";

Main Methods

insert()

$db->insert('tablename')

values()

->values([
    'column1' => 'value1',
    'column2' => 'value2'
])

rows()

->rows([
    ['column1' => 'value1', 'column2' => 'value2'],
    ['column1' => 'value3', 'column2' => 'value4']
])

ignore()

->ignore()  // INSERT IGNORE (MySQL)

execute()

->execute()  // Returns inserted ID or affected rows

Examples

Insert with Auto ID

$userId = $db->insert('users')
    ->values([
        'name' => 'Jane Doe',
        'email' => 'jane@example.com',
        'created_at' => date('Y-m-d H:i:s')
    ])
    ->execute();

Batch Insert

$db->insert('users')
    ->rows([
        ['name' => 'User 1', 'email' => 'user1@example.com'],
        ['name' => 'User 2', 'email' => 'user2@example.com'],
        ['name' => 'User 3', 'email' => 'user3@example.com']
    ])
    ->execute();

Insert with Raw Expressions

use Kotchasan\Database\Sql;

$db = \Kotchasan\Database::create();
$db->insert('logs')
    ->values([
        'message' => 'Created',
        'created_at' => Sql::NOW()
    ])
    ->execute();