2016-08-29 1 views
1

Auth2.dbo.Accounts: account_id, login_name, Passwort, andere Spalten ...Insert aus einer Tabelle in einer anderen (verschiedenen Datenbanken)

Auth.dbo.Account: account_id, Konto, Kennwort, andere Spalten ...

ich mag einfügen Konten (account_id, Konto, Passwort) von "Auth.dbo.Account" auf "Auth2.dbo.Accounts" (account_id, login_name, Passwort) und geben andere Spaltenwerte, die ich möchte.

Ich habe gehofft, dass dies funktionieren könnte, aber sobald ich in SQL Management Studio schrieb, bekam ich einen Fehler Syntaxfehler in der Nähe der „select account_id von Auth.dbo.account“

INSERT [dbo].[Accounts] ([account_id], [login_name], [password], 
     [referral_id], [referral_code], [pcbang], [block], 
     [withdraw_remain_time], [age], [auth_ok], 
     [last_login_server_idx], [event_code], [server_list_mask], 
     [result], [ip], [game_code], [gamecode], [login_event], 
     [email], [security_a_1], [security_a_2], [security_a_3], 
     [security_a_4], [security_q_1], [security_q_2], [security_q_3], 
     [security_q_4], [votepoints], [cash], [country]) 
VALUES (select account_id from auth.dbo.Account, N'Imad', 
       N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', NULL, NULL, 
       0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, 
       N'::1', NULL, NULL, NULL, N'[email protected]', 
       NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 
       0, 189, NULL) 

Antwort

4

mit einfachen Versuchen INSERT/SELECT . In diesem Fall wird account_id von auth.dbo.Account sein und alle anderen Werte sind Konstanten.

INSERT Auth2.[dbo].[Accounts] ([account_id], [login_name], [password], [referral_id], [referral_code], [pcbang], [block], [withdraw_remain_time], [age], [auth_ok], [last_login_server_idx], [event_code], [server_list_mask], [result], [ip], [game_code], [gamecode], [login_event], [email], [security_a_1], [security_a_2], [security_a_3], [security_a_4], [security_q_1], [security_q_2], [security_q_3], [security_q_4], [votepoints], [cash], [country]) 
select account_id , N'Imad', N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', NULL, NULL, 0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, N'::1', NULL, NULL, NULL, N'[email protected]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 189, NULL from auth.dbo.Account; 
+0

Die gesamte erste Zeile ist ungültig, es sagt Spaltennamen sind ungültig, da wir keine Datenbank –

+0

angegeben haben @Dablackninja ok versuche jetzt mit Auth2 Referenz auf Tabelle eingefügt – vercelli

+0

Dieses Problem behoben, eine Frage obwohl. Wenn wir valeus "null, null, 0,0 ..." für andere Spalten auswählen und geben, fügen wir sie ein oder wählen sie aus? weil andere Spalten! = Other_columns der anderen Tabelle –

2

entfernen die VALUES (

Wenn Sie INSERTSELECT verwenden, sollten Sie nicht VALUES verwenden, da die Werte aus dem SELECT kommenden

Auch die Tabellennamen mit den Datenbanknamen voranstellen, unter der Annahme, dass Auth und Auth2 sind 2 verschiedene Datenbanken.

Schließlich ist Ihre FROM aus.

Folgendes sollte funktionieren.

INSERT Auth2.dbo.Accounts 
(
[account_id] 
, [login_name] 
, [password] 
, [referral_id] 
, [referral_code] 
, [pcbang] 
, [block] 
, [withdraw_remain_time] 
, [age] 
, [auth_ok] 
, [last_login_server_idx] 
, [event_code] 
, [server_list_mask] 
, [result] 
, [ip] 
, [game_code] 
, [gamecode] 
, [login_event] 
, [email] 
, [security_a_1] 
, [security_a_2] 
, [security_a_3] 
, [security_a_4] 
, [security_q_1] 
, [security_q_2] 
, [security_q_3] 
, [security_q_4] 
, [votepoints] 
, [cash] 
, [country] 
) 
SELECT 
account_id 
, N'Imad' 
, N'3cfbbd2ae3c3e416c6d00a5a12ee60e8' 
, NULL 
, NULL 
, 0 
, 0 
, NULL 
, -1997 
, 1 
, NULL 
, NULL 
, NULL 
, NULL 
, N'::1' 
, NULL 
, NULL 
, NULL 
, N'[email protected]' 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, NULL 
, 0 
, 189 
, NULL 
FROM auth.dbo.Account 

PRO TIP: Format der SQL richtig bro, hilft es zu debuggen :).

1

Hallo, ich denke, das man vor allem helfen, die Sie erstellen Datenbank Link

CREATE DATABASE LINK your_db_link_name 
CONNECT TO Schema_Name 
IDENTIFIED BY <PWD> 
USING 'Your Database Name'; 

nächstes müssen Sie eine Abfrage

INSERT [Accounts] ([account_id], [login_name], [password], [referral_id] 
     , [referral_code], [pcbang], [block], [withdraw_remain_time], [age], [ 
     auth_ok], [last_login_server_idx], [event_code], [server_list_mask], [ 
     result], [ip], [game_code], [gamecode], [login_event], [email], [ 
     security_a_1], [security_a_2], [security_a_3], [security_a_4], [ 
     security_q_1], [security_q_2], [security_q_3], [security_q_4], [ 
     votepoints], [cash], [country]) 
     VALUES (
     select ac.account_id 
     from [email protected] ac, N'Imad', N'3cfbbd2ae3c3e416c6d00a5a12ee60e8', 
     NULL, NULL, 0, 0, NULL, -1997, 1, NULL, NULL, NULL, NULL, N'::1', NULL, 
     NULL, NULL, N'imad.lek[email protected]', NULL, NULL, NULL, NULL, NULL, 
     NULL, NULL, NULL, 0, 189, NULL) 

ich dies Ihnen helfen, denken lassen, wenn Sie jede Frage dann fühlen Sie sich frei

Verwandte Themen