2016-04-02 19 views
1

Ich bin in einer Situation stecken, in der ich ID in SQL-Tabelle basierend auf einem anderen bestimmten Wert in einer anderen Tabelle einfügen muss.ID in Sql-Tabelle basierend auf einem anderen bestimmten Wert in einer anderen Tabelle einfügen

Zum Beispiel: Ich habe eine Tabelle sagen Buchungen mit Spalte INVOICE_NUMBER und einem anderen Tisch sagen invoice_hotels mit Spalte invoice_id.

Ich versuche invoice_id in invoice_hotels auf Daten in INVOICE_NUMBER Spalte Buchungen Tabelle basierend einzufügen.

möchte ich unter Funktionalität erreichen auch nur MySQL sQuery verwenden nicht

  • Wenn letzter Wert in INVOICE_NUMBER Spalte von Buchungen Tabelle PHP 9000 ist dann will ich 9001 in einzufügen invoice_id Spalte invoice_hotels

ich weiß, das kann leicht durch PHP-Skript ausgeführt werden, aber ich versuche, es zu tun nur mit SQL.

Ich habe this und this verwiesen aber nicht verstanden, wie man es benutzt.

+0

Holen Sie sich die letzte Insert-ID aus der 1. Tabelle und fügen Sie +1 hinzu, und fügen Sie es dann in die zweite Tabelle ein –

+0

Wie kann ich es nur mit SQL tun? Ich meine, ohne Verwendung von PHP Abfrage auswählen. –

+0

Dann warum fügen Sie das PHP-Tag in der Frage –

Antwort

2

Sie können diese Abfrage versuchen:

wir hier max id für INVOICE_NUMBER sind geting und dann wird ein Zuwachs mit Hilfe von Auswahlabfrage nach, dass Sie diesen Wert an einen anderen Tisch mit Hilfe der Insert-Abfrage einfügen.

INSERT INTO table_name (field1, field2,...fieldN)      
VALUES((SELECT IFNULL(MAX(invoice_number)+1, 1) from bookings), value2,...valueN); 

IFNULL (MAX, 1), was bedeutet, wenn id null ist, dann wird es standardmäßig id nehmen = 1

HINWEIS: Ich bin über Tabellennamen und Spaltennamen nicht sicher, so dass Sie anpassen können nach Ihre Anforderung.

Verwandte Themen