code: @SafeVarargs
    public final TableBuilder key(String... columns) {
      if (columns == null || columns.length == 0) {
        throw new InvalidOperationException("Columns array is null or empty.");
      }
      if (keyColumns != null) {
        throw new InvalidOperationException("The key columns are already defined.");
      }
      keyColumns = columns.clone();
      return this;
    }
docs: Set key columns.
  
  <p>
  Values for the key columns are used to uniquely identify database rows, e.g., they
  can be set to the columns that define the table's primary key. The key
  columns are used by key-based operations like {@link JDBDT#delete(DataSet)}
  and {@link JDBDT#update(DataSet)}.
  
  @param columns Columns for the table.
  @return The builder instance for chained calls.