Так что у меня есть интересная проблема. Я создал таблицу, столбец которой четко определен как текстовый тип данных (столбец Имя). Когда я вставляю в нее строку, она возвращает 0. Когда я просто ввожу целое число, оно будет хранить это целое число. Короче говоря, этот столбец рассматривается как целое число вместо текстового поля. Это оператор создания (я использую php и вставляю в базу данных wordpress).
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
$sql = "CREATE TABLE IF NOT EXISTS $table_name (
oid INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
name TEXT NOT NULL,
date DATE NOT NULL,
total FLOAT NOT NULL,
email TEXT NOT NULL,
phone TEXT NOT NULL,
PRIMARY KEY (oid)
) $charset_collate;";
dbDelta( $sql );
, и это оператор вставки
global $wpdb;
$data = array('user_id' => $_POST['uid'], 'name' => 965, 'date' => $_POST['CurrentDay'], 'total' => $_POST['Total'], 'email' => $_POST['Email'], 'phone' => $_POST['Phone']);
$format = array('%s','%d');
$wpdb->insert($table, $data, $format);
$my_id = $wpdb->insert_id;
Вы можете игнорировать 965 для столбец 'name' (который возвращает 965 для этого столбца и строки) ... Я пробовал это как строку ... 'name' => 'Shane', ... Каждый раз, когда я помещаю строку, она возвращает 0 в этом столбце.