Mandant zum Üben in dieselbe Tabelle kopieren
Linuchs
- datenbank
Moin,
vor drei Wochen hatte ich ein ähnliches Thema, nämlich Daten eines Mandanten 1:1 in eine andere DB zu übernehmen.
Doch das Prinzip scheint nicht zu funktionieren, wenn ich mit den Daten des Mandanten 14 für Schulung den Mandanten 15 in derselben DB, selbe Tabelle einrichten möchte.
Fehlermeldung: #1064 - You have an error ... at line 13
INSERT INTO tm_slots (
owner_id
,nr
,datum
,tag_nr
,uhr_von
,uhr_bis
,autom_setzen
,loe_kz
) VALUES (
SELECT
'15'
,nr
,datum
,tag_nr
,uhr_von
,uhr_bis
,autom_setzen
,loe_kz
FROM tm_slots
WHERE owner_id = 14
)
Ich habe in anderen SELECTS durchaus Konstanten drin. Warum nicht hier?
Linuchs
Tach!
Doch das Prinzip scheint nicht zu funktionieren, wenn ich mit den Daten des Mandanten 14 für Schulung den Mandanten 15 in derselben DB, selbe Tabelle einrichten möchte.
Doch das geht, nur darf man keine Phantasiesyntax dafür verwenden.
Fehlermeldung: #1064 - You have an error ... at line 13
Schau bitte ins MySQL-Handbuch Kapitel: SQL Statement Syntax → Data Manipulation Statements → INSERT → INSERT ... SELECT
dedlfix.
Hallo dedfix,
Doch das geht, nur darf man keine Phantasiesyntax dafür verwenden.
Schau bitte ins MySQL-Handbuch Kapitel: SQL Statement Syntax → Data Manipulation Statements → INSERT → INSERT ... SELECT
Muss ich noch lesen, aber es geht wohl auch mit einer temporären Tabelle, das kannte ich noch nicht. Die Rückmeldung sieht gut aus:
CREATE TEMPORARY TABLE tmp_slots SELECT *
FROM tm_slots
WHERE owner_id =14;# 34 Zeile(n) betroffen.
UPDATE tmp_slots SET id = NULL ,
owner_id =15;# 34 Zeile(n) betroffen.
INSERT INTO tm_slots
SELECT *
FROM tmp_slots;# 34 Zeile(n) betroffen.
Linuchs
Hi,
vor drei Wochen hatte ich ein ähnliches Thema, nämlich Daten eines Mandanten 1:1 in eine andere DB zu übernehmen.
Fehlermeldung: #1064 - You have an error ... at line 13
Es ist immer gut, die Fehlermeldung nur verstümmelt an Helfende weiterzugeben.
INSERT INTO tm_slots ( owner_id ,nr ,datum ,tag_nr ,uhr_von ,uhr_bis ,autom_setzen ,loe_kz ) VALUES ( SELECT '15' ,nr ,datum ,tag_nr ,uhr_von ,uhr_bis ,autom_setzen ,loe_kz FROM tm_slots WHERE owner_id = 14 )
Ich habe in anderen SELECTS durchaus Konstanten drin. Warum nicht hier?
Die Konstante ist nicht das Problem, MySQL zählt Zeilen m.W. ab 1, nicht ab 0.
Du vermischst, wie dedlfix schon andeutete, die Syntax von INSERT ... SELECT und INSERT.
cu,
Andreas a/k/a MudGuard