Problem bei INSERT SELECT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei INSERT SELECT

    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:
    PHP-Code:
    # Datenbank: `ticketshop2`


    # --------------------------------------------------------

    #
    # Tabellenstruktur für Tabelle `shop`
    #

    CREATE TABLE `shop` (
      `
    shop_idint(11NOT NULL auto_increment,
      `
    session_idvarchar(40) default NULL,
      `
    ticket_groupvarchar(40) default NULL,
      `
    ticket_categoryvarchar(40) default NULL,
      `
    ticket_typevarchar(40) default NULL,
      `
    ticket_pricefloat(5,2) default NULL,
      `
    ticket_price2float(5,2) default NULL,
      `
    ticket_quantityint(11) default NULL,
      `
    timestamptimestamp(10NOT NULL,
      `
    ticket_idint(11NOT NULL default '0',
      `
    user_idint(11NOT NULL default '0',
      `
    totalfloat(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 `shopVALUES (393'67eadc9dd409cff913612fc5e2501ce6'
    'Erwachsene''MonatsTicket''4 - RegioTicket''140.00''140.00'1
    040906131303'0.00');
    INSERT INTO `shopVALUES (392'67eadc9dd409cff913612fc5e2501ce6',
    'Erwachsene''WochenTicket''1a - CityTicket''11.50''11.50'1
    040906131303'0.00'); 
    PHP-Code:
    # Tabellenstruktur für Tabelle `orders`
    #

    CREATE TABLE `orders` (
      `
    order_idint(11NOT NULL auto_increment,
      `
    ticket_groupint(11) default NULL,
      `
    ticket_categoryint(11) default NULL,
      `
    order_quantityvarchar(40) default NULL,
      `
    ticket_typeint(11) default NULL,
      `
    order_totalfloat(5,2) default NULL,
      `
    order_statustinyint(1) default NULL,
      `
    order_timetimestamp(14NOT NULL,
      `
    shop_idint(11NOT NULL default '0',
      `
    ticket_pricefloat(5,2) default NULL,
      `
    ticket_price2float(5,2) default NULL,
      `
    user_idint(11NOT NULL default '0',
      
    PRIMARY KEY  (`order_id`)
    TYPE=MyISAM AUTO_INCREMENT=29 
    Hier mein SQL-Befehl:
    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.
    Zuletzt geändert von asp2php; 06.09.2004, 15:35.

  • #2
    ticket_group ist einmal varchar(40) und einmal int(11)
    die beiden typen harmonieren nicht sowirklich miteinander

    bei anderen spalten isses ähnlich
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Super dämlich.
      Klar, hatte irgendwann meine Tabelle shop geändert, aber orders nicht angepasst.
      Klappt jetzt wunderbar.
      Vielen, vielen Dank!!

      Kommentar

      Lädt...
      X