Imprimir este artigo Принтирай тази статия Enviar o artigo a um amigo Изпрати на приятел
Начало > BD , Delphi , Програмиране , свободен софтуер > Първи последната стойност добавя автоматично нарастване в MySQL

Първи последната стойност добавя автоматично нарастване в MySQL

Е, нека ние отидем бърз пост днес.

В MySQL, и много банки има автоматично увеличение, която се използва за първичен ключ полета на таблици, които възпрепятстват, че има два записа с един и същ код.

В MySQL, потребителят не може да знае предварително, по сигурен начин, който на следващата стойност, които ще бъдат създадени за областта автомобил увеличение в таблица. Само след поставяне на рекорд в таблицата е, че ние знаем. В PHP, например, там е mysql_insert_id функция, която връща стойност, генерирана за областта автомобил нарастване през последните посочете изпълнена команда. Това е полезно, когато трябва да включват данни в друга таблица, която ще бъде свързана с документ, че е въведен, например, когато имаме продажба маса и друг item_venda. Таблица продажба обикновено има поле cod_venda нарастване автомобил. И да се регистрират за продажба, трябва да включва най-малко една точка на продажба, която е свързана с продажба, който е бил взет. За да направите тази връзка, на масата обикновено имат cod_venda областта item_venda да направи тази асоциация, така че item_venda cod_venda масата трябва да има стойност на автомобил нарастване областта продажба cod_venda таблица. Така че по тази причина, че ние използваме в PHP функция mysql_insert_id.

Но в други езици като Delphi, има подобни функции на PHP mysql_insert_id по този начин как да се върне на стойност автоматично увеличение, генерирани от последните вмъкнете? Обикновено, използвайте SQL SELECT LAST_INSERT_ID ();. Независимо от езика за програмиране, които използвате, това ще работи. Можете дори да създадете една функция, наречена mysql_insert_id на език за програмиране, който искате да стартирате SQL показани по-горе и след това само се обадете на функция, когато пожелаете. Виж например в Делфи, като компонентите DBExpress:

функция mysql_insert_id (SQLConnection: TSQLConnection): Цяло число;
Var SQLDataSet: TSQLDataSet;
започва
Резултат: = 0;
SQLDataSet: TSqlDataSet.Create = (нула);
опитвам
SqlDataSet.SQLConnection: = SQLConnection;
SqlDataSet.CommandText: = 'Изберете LAST_INSERT_ID () ";
SqlDataSet.Open;
Резултатът: = SqlDataSet.Fields [0]. AsInteger;
SqlDataSet.Close;
накрая
SqlDataSet.Free;
цел;
цел;

За да извикате функцията трябва да премине през целия клас TSQLConnection от параметър, който представлява връзката с базата данни.

Надявам се, че е полезно, тъй като тя е за мен.

+ T

VN: F [1.9.1_1087]
Рейтинг: 0.0 / 10 (0 гласове гласа)
VN: F [1.9.1_1087]
Рейтинг: 0 (от 0 гласа)

Свързани пунктове:

  1. Актуализация с Участвайте в MySQL
  2. С изключение на външните основни ограничения в MySQL (спад ограничение)
  3. Малки букви идентификатори в MySQL за Windows
  4. Използване на инструменти от командния ред на MySQL
  5. MySQL 5 и Firebird с Delphi 2007 г. с два DBExpress

Свързани постове доведе до вас от още един Свързани Постове Plug-in .

  1. 21, февруари, 2009 в 13:36 | # 1

    Тази статия е от огромно помогне на мен.
    Голяма прегръдка!

    VA: F [1.9.1_1087]
    Рейтинг: 0.0 / 5 (0 гласове гласа)
    VA: F [1.9.1_1087]
    Рейтинг: 0 (от 0 гласа)
  2. udha
    16, юли, 2009 в 10:25 | # 2

    GMN лицето nambahin otomatis Kode, погрешно Kode "A0001" чуковете Сай Entri дата ще проучим Kode setiap I2 nambah изсъхнали otomatis JD "A0002." Tolong Yach ..?

    VA: F [1.9.1_1087]
    Рейтинг: 0.0 / 5 (0 гласове гласа)
    VA: F [1.9.1_1087]
    Рейтинг: 0 (от 0 гласа)
  3. 19, юли, 2009 в 10:38 | # 3

    За съжаление, аз само разбират и португалски Português.

    VN: F [1.9.1_1087]
    Рейтинг: 0.0 / 5 (0 гласове гласа)
    VN: F [1.9.1_1087]
    Рейтинг: 0 (от 0 гласа)
  1. Няма проследявания все още.