Ich bin mir nicht sicher, was ist dieser Fehler!Fehlercode 1292 - abgeschnitten falschen DOUBLE-Wert - Mysql
#1292 - Truncated incorrect DOUBLE value:
Ich habe keinen doppelten Wert Feld oder Daten!
Ich habe eine ganze Stunde verschwendet, um das herauszufinden!
hier ist meine Abfrage
INSERT INTO call_managment_system.contact_numbers
(account_id, contact_number, contact_extension, main_number, created_by)
SELECT
ac.account_id,
REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','') AS Phone,
IFNULL(ta.ext, '') AS extention,
'1' AS MainNumber,
'2' AS created_by
FROM
cvsnumbers AS ta
INNER JOIN accounts AS ac ON ac.company_code = ta.company_code
WHERE
LENGTH(REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','')) = 10
hier ist meine Show-Tabelle für die Tabelle erstellen, die die Ergebnisse in gehen
CREATE TABLE `contact_numbers` (
`number_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`account_id` int(10) unsigned NOT NULL DEFAULT '0',
`person_id` int(11) NOT NULL DEFAULT '0',
`contact_number` char(15) NOT NULL,
`contact_extension` char(10) NOT NULL DEFAULT '',
`contact_type` enum('Primary','Direct','Cell','Fax','Home','Reception','Office','TollFree') NOT NULL DEFAULT 'Primary',
`contact_link` enum('Account','PDM','Other') NOT NULL DEFAULT 'Account',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '0 = inactive, 1=active',
`main_number` tinyint(1) NOT NULL DEFAULT '0' COMMENT '1 = main phone number',
`created_on` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`created_by` int(11) NOT NULL,
`modified_on` datetime DEFAULT NULL,
`modified_by` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`number_id`),
KEY `account_id` (`account_id`),
KEY `person_id` (`person_id`)
) ENGINE=InnoDB AUTO_INCREMENT=534 DEFAULT CHARSET=utf8
Laut [dieser Fehlerbericht] (http://bugs.mysql.com/bug.php?id=63112) kommt die Nachricht aus dem Vergleich einer String-Spalte mit einer Ganzzahl, weil beide in 'double' konvertiert werden für den Vergleich. Wie werden 'ac.company_code' und' ta.company_code' deklariert? – Barmar
Siehe auch http://bugs.mysql.com/bug.php?id=46641, wo ein Poster vorgeschlagen hat, dass diese Fehlermeldung in "WHERE Vergleiche zwischen numerischen und nicht numerischen Spalten sind nicht zulässig" umformuliert werden – Barmar
Beide dieser Spalten sind int (11) und keine Strings! – Mike