---
name: "DBIx::Class::Storage::DBI::mysql"
section: "3pm"
platform: "linux"
package: "libdbix-class-perl"
version: "0.082844-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Storage::DBI::mysql"
---

# DBIx::Class::Storage::DBI::mysql(3pm)

Storage::DBI class implementing MySQL specifics

## NAME

DBIx::Class::Storage::DBI::mysql - Storage::DBI class implementing MySQL specifics

## SYNOPSIS

Storage::DBI autodetects the underlying MySQL database, and re-blesses the `$storage` object into this class.

```
  my $schema = MyApp::Schema->connect( $dsn, $user, $pass, { on_connect_call => 'set_strict_mode' } );
```

## DESCRIPTION

This class implements MySQL specific bits of DBIx::Class::Storage::DBI, like AutoIncrement column support and savepoints. Also it augments the SQL maker to support the MySQL-specific `"STRAIGHT_JOIN"` join type, which you can use by specifying `"join_type => 'straight'"` in the relationship attributes

It also provides a one-stop on-connect macro `"set_strict_mode"` which sets session variables such that MySQL behaves more predictably as far as the SQL standard is concerned.

## STORAGE OPTIONS

### set\_strict\_mode

Enables session-wide strict options upon connecting. Equivalent to:

```
  ->connect ( ... , {
    on_connect_do => [
      q|SET SQL_MODE = CONCAT('ANSI,TRADITIONAL,ONLY_FULL_GROUP_BY,', @@sql_mode)|,
      q|SET SQL_AUTO_IS_NULL = 0|,
    ]
  });
```

## FURTHER QUESTIONS?

Check the list of additional DBIC resources.

## COPYRIGHT AND LICENSE

This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute it and/or modify it under the same terms as the DBIx::Class library.
