Insert/Update - MySQL
7 отговора
301 прегледа
Insert/Update - MySQL
Имам една таблица.
Field Type Null Key Default Extra
id_labels int(3) unsigned PRI auto_increment
named varchar(128) YES
year int(12) unsigned YES
week int(12) unsigned YES
start int(12) unsigned YES
changed timestamp(14) YES
Това което правя сега е следното:
Ако имам ред с named = 'Кретен' - Update реда където named = Кретен
Ако нямам такъв ред - Insert
Предполагам че няма SQL заявка която или да променя или да инсъртва, вероятно единствения начин е да се ползват stored procedures?
Или бъркам?
Bеer? Moooorrre?
Field Type Null Key Default Extra
id_labels int(3) unsigned PRI auto_increment
named varchar(128) YES
year int(12) unsigned YES
week int(12) unsigned YES
start int(12) unsigned YES
changed timestamp(14) YES
Това което правя сега е следното:
Ако имам ред с named = 'Кретен' - Update реда където named = Кретен
Ако нямам такъв ред - Insert
Предполагам че няма SQL заявка която или да променя или да инсъртва, вероятно единствения начин е да се ползват stored procedures?
Или бъркам?
Bеer? Moooorrre?
Re: Insert/Update - MySQL
има replace
дето е delete/insert , работи по PK-то
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
дето е delete/insert , работи по PK-то
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Мерси
забравих за replace.
И тъй като или променям всичко или инсъртвам - ще ми свърши чудничка работа.
Bеer? Moooorrre?
И тъй като или променям всичко или инсъртвам - ще ми свърши чудничка работа.
Bеer? Moooorrre?
Re: Освен REPLACE
в 4.1 има и
INSERT .... ON DUPLICATE KEY UPDATE SET ...;
Ама си прав, че в твоя случай REPLACE ти върши идеална работа.
Как е бирата? Аз нещо съм я позарязал тези дни.
salle.online.bg/sig
INSERT .... ON DUPLICATE KEY UPDATE SET ...;
Ама си прав, че в твоя случай REPLACE ти върши идеална работа.
Как е бирата? Аз нещо съм я позарязал тези дни.
salle.online.bg/sig
Ми добре си е бирата :)
И добре че я има.
Имах си една концепция за уникални ИД на серия продукти.
Тръгнахме да правим нови продукти и аз тъпанара вместо да ползвам тествана концепция се направих на умен.
Е вчера успях да се върна в релсите.
Ама нали ти казвам - добре че е бирата че както ми беше пламнала главата .....
Bеer? Moooorrre?
Имах си една концепция за уникални ИД на серия продукти.
Тръгнахме да правим нови продукти и аз тъпанара вместо да ползвам тествана концепция се направих на умен.
Е вчера успях да се върна в релсите.
Ама нали ти казвам - добре че е бирата че както ми беше пламнала главата .....
Bеer? Moooorrre?
Re: Пак 4.1 ...
mysql> select UUID();
+--------------------------------------+
| UUID() |
+--------------------------------------+
| 2bf635da-0051-1027-ba90-0007e9aa92c3 |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> select VERSION();
+-----------------------+
| VERSION() |
+-----------------------+
| 4.1.2-alpha-debug-log |
+-----------------------+
1 row in set (0.00 sec)
mysql> select BEER();
ERROR 1064 (42000): You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '()'
Последното за съжаление още не работи ...
salle.online.bg/sig
+--------------------------------------+
| UUID() |
+--------------------------------------+
| 2bf635da-0051-1027-ba90-0007e9aa92c3 |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> select VERSION();
+-----------------------+
| VERSION() |
+-----------------------+
| 4.1.2-alpha-debug-log |
+-----------------------+
1 row in set (0.00 sec)
mysql> select BEER();
ERROR 1064 (42000): You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '()'
Последното за съжаление още не работи ...
salle.online.bg/sig
А отговорът би трябвало да бъде
Бирата е в магазина.
АМа това ще е функция за версия 6.6
Bеer? Moooorrre?
АМа това ще е функция за версия 6.6
Bеer? Moooorrre?
Re: А отговорът би трябвало да бъде
А защо да не е
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
mysql> select BEER();
+-----------------------+
| BEER() |
+-----------------------+
| Moooorrre |
+-----------------------+
1 row in set (0.00 sec)
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy