Hallo,
habe ein Problem mit INSERT SELECT.
Habe mal die Struktur beider Tabellen als auch meinen SQL-Befehl beigefügt. Teilweise werden die Daten richtig eingefügt (z.B. ticket_price1, ticket_price2, user_id). Andere werden gar nicht oder an falscher Stelle eingefügt.
Was mache ich falsch???
Tabellenstrukturen:
Hier mein SQL-Befehl:
habe ein Problem mit INSERT SELECT.
Habe mal die Struktur beider Tabellen als auch meinen SQL-Befehl beigefügt. Teilweise werden die Daten richtig eingefügt (z.B. ticket_price1, ticket_price2, user_id). Andere werden gar nicht oder an falscher Stelle eingefügt.
Was mache ich falsch???
Tabellenstrukturen:
PHP-Code:
# Datenbank: `ticketshop2`
#
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `shop`
#
CREATE TABLE `shop` (
`shop_id` int(11) NOT NULL auto_increment,
`session_id` varchar(40) default NULL,
`ticket_group` varchar(40) default NULL,
`ticket_category` varchar(40) default NULL,
`ticket_type` varchar(40) default NULL,
`ticket_price` float(5,2) default NULL,
`ticket_price2` float(5,2) default NULL,
`ticket_quantity` int(11) default NULL,
`timestamp` timestamp(10) NOT NULL,
`ticket_id` int(11) NOT NULL default '0',
`user_id` int(11) NOT NULL default '0',
`total` float(5,2) default '0.00',
PRIMARY KEY (`shop_id`),
UNIQUE KEY `idx_shop1` (`shop_id`)
) TYPE=MyISAM AUTO_INCREMENT=394 ;
#
# Daten für Tabelle `shop`
#
INSERT INTO `shop` VALUES (393, '67eadc9dd409cff913612fc5e2501ce6',
'Erwachsene', 'MonatsTicket', '4 - RegioTicket', '140.00', '140.00', 1,
0409061313, 0, 3, '0.00');
INSERT INTO `shop` VALUES (392, '67eadc9dd409cff913612fc5e2501ce6',
'Erwachsene', 'WochenTicket', '1a - CityTicket', '11.50', '11.50', 1,
0409061313, 0, 3, '0.00');
PHP-Code:
# Tabellenstruktur für Tabelle `orders`
#
CREATE TABLE `orders` (
`order_id` int(11) NOT NULL auto_increment,
`ticket_group` int(11) default NULL,
`ticket_category` int(11) default NULL,
`order_quantity` varchar(40) default NULL,
`ticket_type` int(11) default NULL,
`order_total` float(5,2) default NULL,
`order_status` tinyint(1) default NULL,
`order_time` timestamp(14) NOT NULL,
`shop_id` int(11) NOT NULL default '0',
`ticket_price` float(5,2) default NULL,
`ticket_price2` float(5,2) default NULL,
`user_id` int(11) NOT NULL default '0',
PRIMARY KEY (`order_id`)
) TYPE=MyISAM AUTO_INCREMENT=29 ;
PHP-Code:
//Bestelldaten in DB schreiebn
function setOrderData(){
$query = "INSERT INTO orders
(
ticket_group,
ticket_category,
order_quantity,
ticket_type,
shop_id,
ticket_price,
ticket_price2,
user_id)
SELECT
ticket_group,
ticket_category,
ticket_quantity AS order_quantity,
ticket_type,
shop_id,
ticket_price,
ticket_price2,
user_id
FROM shop
WHERE user_id ='".$_SESSION['id']."'";
mysql_query($query);
}
EDIT:
linebreak sponsored by asp2php. Bitte demnächst selbst dafür sorgen. Danke.
Kommentar