is_valid_sql_identifier

Function is_valid_sql_identifier 

Source
pub fn is_valid_sql_identifier(s: &str) -> bool
Expand description

Validate that a string is a safe SQL identifier.

A valid SQL identifier:

  • Starts with a letter (a-z, A-Z) or underscore
  • Contains only letters, digits (0-9), and underscores
  • Is not empty and not longer than 63 characters

This prevents SQL injection attacks by rejecting:

  • Special characters (quotes, semicolons, etc.)
  • SQL keywords as standalone identifiers
  • Unicode characters that could cause confusion

ยงExamples

use mik_sql::is_valid_sql_identifier;

assert!(is_valid_sql_identifier("users"));
assert!(is_valid_sql_identifier("user_id"));
assert!(is_valid_sql_identifier("_private"));
assert!(is_valid_sql_identifier("Table123"));

// Invalid identifiers
assert!(!is_valid_sql_identifier(""));           // empty
assert!(!is_valid_sql_identifier("123abc"));     // starts with digit
assert!(!is_valid_sql_identifier("user-name"));  // contains hyphen
assert!(!is_valid_sql_identifier("user.id"));    // contains dot
assert!(!is_valid_sql_identifier("user; DROP")); // contains special chars