web-dev-qa-db-fra.com

Base de données: Table personnalisée: valeur sprintf pour la colonne DateTime

Je crée une requête d'insertion en suivant l'exemple d'insertion de la référence de classe wpdb. Quel sprintf comme espace réservé doit être utilisé pour une colonne DateTime sur une table personnalisée? Les espaces réservés autorisés semblent être% s (chaîne),% d (entier) et% f (float). Dans mon exemple ci-dessous, j'ai défini la colonne DateTime pour utiliser une valeur de chaîne% s, est-ce correct?

L'exemple ci-dessous simplifie ma situation.

Création de table

global $wpdb;
$sql = "CREATE TABLE $wpdb->prefix. 'time' (
       id bigint(20) NOT NULL AUTO_INCREMENT,
       time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
       UNIQUE KEY id (id)
       )";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );

Insérer

$wpdb->insert(
    $wpdb->prefix. 'time',
    array(
        'time' => current_time( 'mysql' )
    ),
    array(
        '%s'
    )
);

La référence de classe wpdb que j'utilise est liée ci-dessous. http://codex.wordpress.org/Class_Reference/wpdb#Placeholders

2
Peter Bushnell

Après avoir testé cela sur mon site de démonstration, il semble fonctionner parfaitement, car il stocke simplement les colonnes DateTime sous forme de% s (String). Après cette insertion, la base de données affiche la colonne DateTime exactement comme prévu.

1
Peter Bushnell