先前 介紹 過 select ... FOR update 的用法,不過鎖定(Lock)的資料是判別就得要注意一下了。由於 InnoDB 預設是 Row-Level Lock,所以只有「明確」的指定主鍵,mysql 才會執行 Row lock (只鎖住被選取的資料例) ,否則 mysql 將會執行 Table Lock (將整個資料表單給鎖住)。 舉個例子: 假設有個表單 products ,裡面有 id 跟 name 二個欄位,id 是主鍵。 例1: (明確指定主鍵,並且有此筆資料,row lock) select * FROM products W...
by qbq - MySQL文档中心 - 2008-08-19 10:54:11 阅读(1217) 回复(0)
3、带子查询的更新语言 例子3:延长张三借阅的数据结构的借阅期为180天。 update temp_record SET borrow_term=180 WHERE record_id= (select record_id FROM temp_record,browser_info,book_info WHERE browser_info.browser_name=’张三’ AND book_name=’数据结构’ AND temp_record.book_id= book_info.book_id AND temp_record.browser_id= browser_info.browser_id ) 注解:在mysql中update不支持where后面的s...
exec sql declare tmp_cursor for select a from table where b =‘1’ for update of a; 这个例子没太看懂,首先我表里面只有一条记录,我只取一个字端,我能不能直接into变量不用游标呢? 其次这句话执行后我马上在执行一次update吗? 我想实现我自己的进程独享表,就是select也不让别的进程来作,等待我释放。
现有两个表,A表中包含 name,pic等字段,b表包含pame,pic等字段,现要使a.name=b.name时,set a.pic=b.pic,该怎么写update语句,谢谢!
开发环境:windows2000 + eclipse sco unix + informix(IDS2000) 问题描述: 在java中,使用select ... for update操作informix数据库时是否加锁?我测试的结果是不加锁的,因此在多线程的时候,取出的数据有重复的。 伪代码如下: stringSQL = "select mykey from mytable where key = 'key' for update" Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(stringSQL)...
小弟,我用OCI写更新BLOB字段的程序,用到了select OID blobname where OID = 12 for update,怎么当excute的是时候,半天没有反应,谁能告诉我为什么?更新blob,还有什么其他的方法吗?望指教
小弟,我用OCI写更新BLOB字段的程序,用到了select OID blobname where OID = 12 for update,怎么当excute的是时候,半天没有反应,谁能告诉我为什么?更新blob,还有什么其他的方法吗?望指教
mysql不支持select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下: 方法1: mysql不支持: select * Into new_table_name from old_table_name; 替代方法: Create table new_table_name (select * from old_table_name); 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/50685/showart_1952729.html
一个100W的单字段数据表。我的两个SQL语句: select * FROM mytb WHERE mycol like '%aaaaaa%'; update mytb set mycol='AAAAAA' WHERE mycol like '%aaaaaa%' 在表中根本不存在符合WHERE 要求的记录 结果是select 很快。0.38 秒 update很慢。8 秒 我原先以为的是update也会和select一样,一行一行用WHERE条件比较。有符合条件的记录再update。这样的话如果一直没有符合条件的。那么就应该和select一样。为...
在用occi操作数据库,我在select一个表的同时,可以对其update吗? 比如,我select一个结果集,取出一条记录,开了一个子进程,修改数据后,update此记录。这样可以吗?