Първи последната стойност добавя автоматично нарастване в 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
Свързани пунктове:
- Актуализация с Участвайте в MySQL
- С изключение на външните основни ограничения в MySQL (спад ограничение)
- Малки букви идентификатори в MySQL за Windows
- Използване на инструменти от командния ред на MySQL
- MySQL 5 и Firebird с Delphi 2007 г. с два DBExpress
Свързани постове доведе до вас от още един Свързани Постове Plug-in .






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