Comunitatea PHP Romania
MightyDeals

Prima pagină Baze de date MySQL copiere date

copiere date

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Mesaj Mie Iun 13, 2012 6:46 pm
LightManIs PHPRomania Supporter

Mesaje: 20
Salut, am nevoie si eu sa copii cate o coloana din 2 tabele si sa le introduc intr-un al 3-lea tabel
Incec asa dar nu merge
INSERT INTO studenti ('Nume','Prenume')
VALUES
(SELECT nume FROM nume where id between 1 and 1200),
(SELECT prenume FROM prenume where id between 2000 and 3200);

Am eroarea asta You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Nume','Prenume')
VALUES
(SELECT nume FROM nume where id between 1 and 1200),' at line 1

si daca le rulez independent functioneaza insa nu stiu cum as putea sa umplu tabelul :(

INSERT INTO studenti (Nume)
SELECT Nume FROM nume
WHERE id<=1200;

Mesaj Mie Iun 13, 2012 8:09 pm
MarPlo Senior Member

Mesaje: 706
Localitate: Braila

Salut
Eroarea e din cauza ca ai numele de coloana intre ghilimele simple.
Doar datele de tip sir se adauga intre ghilimele, pt. coloane si nume tabel se foloseste caracterul " `...` " (de langa tasta 1). Sau simplu, fara ghilimele.

Mesaj Mie Iun 13, 2012 8:31 pm
LightManIs PHPRomania Supporter

Mesaje: 20
tot nu merge.....am tabelele astea
DROP TABLE IF EXISTS `aplicatie`.`studenti`;
CREATE TABLE `aplicatie`.`studenti` (
`Numar_matricol` int(11) NOT NULL auto_increment,
`Nume` varchar(70) default NULL,
`Initiala_tatalui` varchar(3) default '0',
`Prenume` varchar(100) NOT NULL default '0',
`CNP` bigint(13) unsigned default NULL,
`Adresa` varchar(120) default '0',
`Numar_de_telefon` int(10) default '0',
`Adresa_de_email` varchar(100) default '0',
`*` varchar(1) default '2',
`Camin` varchar(2) default '3',
`Medie` float default '0',
PRIMARY KEY (`Numar_matricol`),
UNIQUE KEY `CNP` (`CNP`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `aplicatie`.`nume`;
CREATE TABLE `aplicatie`.`nume` (
`id` int(10) unsigned NOT NULL auto_increment,
`nume` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `aplicatie`.`prenume`;
CREATE TABLE `aplicatie`.`prenume` (
`id` int(10) unsigned NOT NULL auto_increment,
`prenume` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Si vreau sa copii din tabelele nume, prenume valorile nume si prenume si sa le inserez in tabelul studenti respectiv campurile Nume si Prenume.

Daca le copii pe rand merge, adica sa copii prima data numele si apoi prenumele chestia e ca nu pot insera decat Nume pana la valoarea 1200 si prenume dupa 1200 adica o sa am in tabel la 1200 nume si la prenume null si la 1201 invers null si prenume si as vrea sa le copii pe amandoua odata . De ce nu merge comanda asta?
INSERT INTO studenti (Nume,Prenume)
VALUES
(SELECT nume FROM nume where id between 1 and 1200),
(SELECT prenume FROM prenume where id between 2000 and 3200);
Ar fi vreun program care sa ma ajute?

Mesaj Lun Iun 25, 2012 6:19 pm
Reventon Average Member

Mesaje: 68
al tau:
INSERT INTO studenti ('Nume','Prenume')
VALUES
(SELECT nume FROM nume where id between 1 and 1200),
(SELECT prenume FROM prenume where id between 2000 and 3200);


in prima faza iti lipsesc doua paranteze, tu ai pus paranteze doar la SELECT-uri, mai trebuie sa le adaugi si pe cele de la VALUES (... , ... )

ce ai facut mai sus, este ceva de genul:
INSERT INTO studenti ('Nume', 'Prenume')
VALUES 'Gheorghe', 'Marin';

deci iti lipsesc 2 paranteze rotunde

desi imi pare ceva dubios la ce incerci sa faci, incearca asa daca mergi pe ideea asta:

INSERT INTO studenti ('Nume','Prenume')
VALUES
((SELECT nume FROM nume where id between 1 and 1200),
(SELECT prenume FROM prenume where id between 2000 and 3200));

Mesaj Dum Apr 14, 2013 12:55 am
Google Bot New Member

Mesaje: 1

Înapoi la MySQL

Copyright © 2001-2013 PHP Romania Gazduire web | Haine online | Gazduire web | Campanii SMS | Gazduire Claus Web | Inregistrare Domenii | Anunturi | Jocuri cu bile
Furnizat de phpBB® Forum Software © phpBB Group
Translation/Traducere: phpBB România
Powered by Simplis