[API reference](https://evolu.dev/docs/api-reference) › [@evolu/sqlite-wasm](https://evolu.dev/docs/api-reference/sqlite-wasm) › [c-api](https://evolu.dev/docs/api-reference/sqlite-wasm/c-api) › sqlite3\_table\_column\_metadata

```ts
function sqlite3_table_column_metadata(
  deps: SqliteWasmDep,
): (
  db: SqliteDbPtr,
  zDbName: 0 | CStringPtr,
  zTableName: CStringPtr,
  zColumnName: 0 | CStringPtr,
  pzDataType: 0 | WasmPtr,
  pzCollSeq: 0 | WasmPtr,
  pNotNull: 0 | WasmPtr,
  pPrimaryKey: 0 | WasmPtr,
  pAutoinc: 0 | WasmPtr,
) => SqliteResultCode;
```

Defined in: [packages/sqlite-wasm/src/CApi.ts:1364](https://github.com/evoluhq/evolu/blob/bc4578a260dd15d5bbf94b83765ca05984d194cb/packages/sqlite-wasm/src/CApi.ts#L1364)

Writes a table column's declared type, collation sequence and NOT NULL,
PRIMARY KEY and AUTOINCREMENT flags through the non-NULL output pointers,
failing for a missing column or a view; a NULL column name only checks that
the table exists. The returned strings stay valid only until the next SQLite
call.

Wasm type `i(iiiiiiiii)`. Signature `["sqlite3_table_column_metadata", "int",
"sqlite3*", "string", "string", "string", "**", "**", "*", "*", "*"]` from
SQLite's table.

See https://sqlite.org/c3ref/table_column_metadata.html.