Engines
TiDB
Bobby Tables connects to TiDB through the MySQL wire protocol, keeps TiDB as the saved provider, and opens each connection in a SQL workspace that follows TiDB's limits.
Where to find it
| Action | How |
|---|---|
| Choose TiDB | New connection, ⌘N (Ctrl+N), then TiDB under Choose a provider |
| Fill the form from a URL | Use connection URL with a tidb:// URL, or a mysql:// URL with port 4000 or a tidbcloud.com host, then Fill fields |
| Default port | 4000 |
URLs the app copies use tidb://, so change the scheme to mysql:// for tools that only know MySQL.
Connecting
The form asks for Host, Port, User, Database (optional) and Password, and notes that the connection Uses 2 server connections. A TiDB Cloud string with ssl-mode=VERIFY_IDENTITY maps to Verify Full in the TLS section, and SSH and TLS covers certificates and tunnels. Test connection refuses a MySQL or MariaDB server selected as TiDB. Open in read-only mode blocks writes in the app and disables editing, but TiDB does not enforce a read-only session, so use TiDB privileges when the server itself must refuse writes.
What works
- Browse databases, tables, views, columns, indexes and keys in the table grid.
- Stage inserts, updates and deletes, then commit them in one transaction, as described in Editing.
- Change structure in the Structure tab, where a change TiDB cannot make, such as adding an
AUTO_INCREMENTcolumn, is refused before anything is sent. - Take a consistent snapshot that leaves out the object kinds TiDB does not support.
- Draw a schema diagram from declared foreign keys.
- Format result columns with result directives.
- Stop a running statement with
Cancel, ⌘. (Ctrl+.), which sendsKILL QUERY. - Run
Explain, ⌘⇧E (Ctrl+Shift+E), orExplain Analyze, ⌘⇧⌥E (Ctrl+Shift+Alt+E), in the SQL editor.
Engine notes
TiDB does not support stored routines, triggers or scheduled events, so the catalog leaves them out. The snapshot dialog lists Stored procedures and functions, Triggers and Events under Not included. When another transaction changes the same data, the commit dialog keeps your pending changes and asks you to retry the complete transaction. When the schema changes during a commit, refresh the schema and review the pending changes before retrying.
Good to know
- TiDB DDL is not transactional, so a failed structure change reports which earlier statements were already applied.
FULLTEXTindexes depend on the TiDB Cloud deployment.- Generated IDs can have gaps and need not follow commit order.
- The PostgreSQL page has a short video of opening a connection from Home.