Ik heb een hele standaar tabel die helemaal zo in Mysql ingevoegd kan worden. Probleem is alleen de laatste kolom in die tabel van Postgre. Deze is van het type text, ook geen probleem zou je zeggen.
Nu is het probleem als volgt. Deze kolom bevat messages van een forum en er zitten dus ook " ' " quotes in. In de backup betekenen die waar de text data tussen staat, maar omdat deze ook in de text staan word heel mijn code ver*&(*.
Sommige inserts zijn dus incorrect. Ik wil dit wle graag goed hebben, zonder een vervangopdracht als dat mogelijk is. Dus dat alle quotes in die text niet meer door de backuop gezien word als einde van de data die in die kolom moet staan.
Verder wil ik via een SQL query een kolom van type laten veranderen, dus van een char naar een varchar, dit kan de hoeveelheid data eneorm vermidneren (120000 records).
Dit zou ik kunnen doen via een ALTER TABLE tabel MODIFY kolom VARCHAR(37);
edit:
Dit was een MySQL opdracht. In Postgre gaat dit dus met:
BEGIN;
ALTER TABLE mytable ADD COLUMN abc_new varchar(64);
UPDATE mytable SET abc_new = abc;
ALTER TABLE mytable RENAME abc TO abc_old;
ALTER TABLE mytable RENAME abc_new TO abc;
COMMIT;
Hierna kan ik de oude kolom neem ik aan verwijderen.
edit 2:
ALTER TABLE distributors
ALTER COLUMN address TYPE varchar(80),
ALTER COLUMN name TYPE varchar(100);
Zo kan het dus wel.
Alleen hij kent de opdracht modify niet? Het gaat hierin om de Postgre database.
Ik hoop dat jullie een antwoord op mijn vragen hebben.
Ps. bij een vervangopdracht is mijn pc te lang bezig om alles te vervangen en dat moet hij dan dus 4 maal doen. Niet zinvol in mijn ogen.
Nu is het probleem als volgt. Deze kolom bevat messages van een forum en er zitten dus ook " ' " quotes in. In de backup betekenen die waar de text data tussen staat, maar omdat deze ook in de text staan word heel mijn code ver*&(*.
Sommige inserts zijn dus incorrect. Ik wil dit wle graag goed hebben, zonder een vervangopdracht als dat mogelijk is. Dus dat alle quotes in die text niet meer door de backuop gezien word als einde van de data die in die kolom moet staan.
Verder wil ik via een SQL query een kolom van type laten veranderen, dus van een char naar een varchar, dit kan de hoeveelheid data eneorm vermidneren (120000 records).
Dit zou ik kunnen doen via een ALTER TABLE tabel MODIFY kolom VARCHAR(37);
edit:
Dit was een MySQL opdracht. In Postgre gaat dit dus met:
BEGIN;
ALTER TABLE mytable ADD COLUMN abc_new varchar(64);
UPDATE mytable SET abc_new = abc;
ALTER TABLE mytable RENAME abc TO abc_old;
ALTER TABLE mytable RENAME abc_new TO abc;
COMMIT;
Hierna kan ik de oude kolom neem ik aan verwijderen.
edit 2:
ALTER TABLE distributors
ALTER COLUMN address TYPE varchar(80),
ALTER COLUMN name TYPE varchar(100);
Zo kan het dus wel.
Alleen hij kent de opdracht modify niet? Het gaat hierin om de Postgre database.
Ik hoop dat jullie een antwoord op mijn vragen hebben.
Ps. bij een vervangopdracht is mijn pc te lang bezig om alles te vervangen en dat moet hij dan dus 4 maal doen. Niet zinvol in mijn ogen.
[ Voor 19% gewijzigd door BSeB op 04-10-2005 09:23 ]