Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ต้องการ UPDATE ทุกฟิลล์ ทุกตาราง ที่มีอักขระเหมือนอักขระที่ใส่ลงไปครับ



 

ต้องการ UPDATE ทุกฟิลล์ ทุกตาราง ที่มีอักขระเหมือนอักขระที่ใส่ลงไปครับ

 



Topic : 106233



โพสกระทู้ ( 1,666 )
บทความ ( 0 )



สถานะออฟไลน์




คือว่าพอจะมีโค้ดหรือแนวทางที่ประมาณนี้ไหมครับ .. .
1. ใน DB มีหลายตารางมากๆๆ และในแต่ละตารางก็มีหลายฟิลล์
2. บางตารางมีข้อมูลอยู่เป็นหมื่นๆเรคคอร์ด

ต้องการ
1. ผู้ใช้งานระบุ text ตัวเก่า และตัว text ตัวใหม่(เพื่อไปแทนที่)
2. โค้ดจะทำการ select หาและเปลี่ยนค่าในทุกๆฟิลล์ทุกๆตารางที่อยู่ใน DB ก้อนนี้ที่มีค่าเดิมตรงกับ textเก่า และ update เป็น text ใหม่

** ไม่เอาวิธี SELECT หาทีละฟิลล์ทีละตารางมันเนื่อย T__T พอจะมีวิธีที่รวบรัดเลยว่าทุกๆอย่างใน DB นี้ที่ตรงกับเงื่อนใขให้ทำการอัพเดทไหมครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-02-24 23:45:11 By : meannerss View : 1006 Reply : 8
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ลักษณะการใช้งาน คล้ายกับตอนที่ผมต้องการแกะโปรเจ็กต์คนอื่นอยู่เลย

ทำได้อย่างเดียว คือวนลุปทุกตารางทุกฟิลด์ ^^"
แนะนำให้รันผ่านพวก cronjob ดีกว่านะครับ
ถ้าข้อมูลในฐานข้อมูลเข้ารหัสไว้ อาจจะไม่เจอนะครับ








ประวัติการแก้ไข
2014-02-25 06:39:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-25 06:39:27 By : {Cyberman}
 


 

No. 2



โพสกระทู้ ( 1,666 )
บทความ ( 0 )



สถานะออฟไลน์


ไมไ่ด้ไปแกะของคนอื่นครับแกะของตัวเองนี่เหละ 5 5 5 ทำเองงงเอง .. . .คือผมทำไว้นานแล้วและก็ใช้งานมาเรื่อยๆวันดีคืนดี นึกพัฒนาเพิ่ม พอพัฒนาเสร็จ ต้องซ่อมบัคทำการเปลี่ยนข้อมูลเดิมบ่งตัวจากคีย์เดิมไปเป็นคีย์ใหม่ เช่นตัวเดิมเป็น aaa9915 ตัวใหม่จะเป็น aaa7787 ซึ่งก็ไม่รู้เหละว่าเจ้าตัว aaa9915 ที่ว่านีมันอยู่ฟิลใดตารางใดบ้าง
เลยอยากได้โค้ดที่แบบเจอ aaa9915 ไม่สนว่าจะบนตารางใด ฟิลใด เรคคอร์ดใด เปลี่ยนให้เป็นaaa7787 ให้หมด

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-25 12:56:42 By : meannerss
 

 

No. 3



โพสกระทู้ ( 1,666 )
บทความ ( 0 )



สถานะออฟไลน์


พอจะมีแนวทางไหมนะครับ สำหรับการ update แบบไม่ต้องระบุตารางระบุฟิลแต่เอาทั้งหมดทั้งปวงในดาต้าเบสไปเลย
รอคอยคำตอบอยู่ อิอิ . . .
ปปแ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 00:08:21 By : meannerss
 


 

No. 4



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

http://stackoverflow.com/questions/11839060/find-and-replace-text-in-all-table-using-mysql-query
มี 2 วิธีคือ

  • อัพเดตทุกตาราง ทุกฟิลด์ (ต้อง list ทั้งชื่อตารางและชื่อฟิลด์)

  • dump แล้ว replace ใน text editor


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 08:06:43 By : itpcc
 


 

No. 5

Guest


Code (SQL)
USE sexDB
GO
GO
GO

/*Always GO GO*/

DECLARE @iKey INT
DECLARE @cTableName VARCHAR(212)
DECLARE @cColumnName VARCHAR(224)
DECLARE @TableVar69 TABLE (
	                   iKey INT,
	                   Table_Name VARCHAR(212),
	                   Schema_Name VARCHAR(224),
	                   Column_Name VARCHAR(236)
	                   )

INSERT INTO @TableVar69 
SELECT ROW_NUMBER() OVER (ORDER BY a.NAME), a.NAME AS Table_Name, SCHEMA_NAME(schema_id) AS Schema_Name, b.NAME AS Column_Name
FROM sys.tables AS a
INNER JOIN sys.columns AS b ON a.OBJECT_ID = b.OBJECT_ID
WHERE b.NAME = 'JimColumnName'
ORDER BY Table_Name

WHILE EXISTS(SELECT 'ไม่เคยรักอะไรมากไปกว่าจิ๋ม' FROM @TableVar69)
BEGIN
	SELECT TOP 1 @iKey = iKey, @cTableName = Table_Name, @cColumnName = Column_Name FROM @TableVar69 
	EXECUTE('UPDATE ' + @Tablename + ' SET ' + @ColumnName + ' = ' + 'aaa7787')  /* Processing*/
	DELETE FROM @TableVar69 WHERE iKey = @iKey
END




GoodLuck
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 08:32:18 By : love9713
 


 

No. 6

Guest


MySQL Fox&uck(Line : 28)

Code (SQL)
SET strSQL = CONCAT('UPDATE TableName ', ' SET JimColumnName = ', 'aaa7787')
PREPARE stmt FROM @strSQL ;
EXECUTE stmt ;
DEALLOCATE PREPARE stmt ;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 08:43:43 By : love9713
 


 

No. 7

Guest


Quote:
ไม่รู้เหละว่าเจ้าตัว aaa9915 ที่ว่านีมันอยู่ฟิลใดตารางใดบ้าง

----- คำอธิบายนี้ ถูก แค่ ครึ่งเดียว นั่นคือ อยู่ในตารางใดบ้าง

จาก #NO 5 แปลงร่างเป็น Store Procedure

Code (SQL)
USE [sexDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[ReplaceValue_InTables]
	@pColumnName AS VARCHAR(224),
        @pSValue AS VARCHAR(236),
        @pDValue AS VARCHAR(248)
AS
BEGIN

DECLARE @iKey INT
DECLARE @cTableName VARCHAR(212)

DECLARE @TableVar69 TABLE (
	                   iKey INT,
	                   Table_Name VARCHAR(224),
	                   Schema_Name VARCHAR(236)
	                   )

INSERT INTO @TableVar69 
SELECT ROW_NUMBER() OVER (ORDER BY a.NAME), a.NAME AS Table_Name, SCHEMA_NAME(schema_id) AS Schema_Name
FROM sys.tables AS a
INNER JOIN sys.columns AS b ON a.OBJECT_ID = b.OBJECT_ID
WHERE b.NAME = @pColumnName 
ORDER BY Table_Name

WHILE EXISTS(SELECT 'ไม่เคยรักอะไรมากไปกว่าจิ๋ม' FROM @TableVar69)
BEGIN
	SELECT TOP 1 @iKey = iKey, @cTableName = Table_Name FROM @TableVar69 
	EXECUTE('UPDATE ' + @Tablename + ' SET ' + @pColumnName + ' = ' + @pDValue + ' WHERE ' + @pColumnName + ' = ' + @pSValue)  /* Processing*/
	DELETE FROM @TableVar69 WHERE iKey = @iKey
END /* End While*/

END /* End As*/

GO



[x] ควรจะดัก Error ด้วย Begin Try ... Catch.. End ขอให้พระเจ้า อวยพร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 10:02:39 By : love9713
 


 

No. 8

Guest


Code
คำร้อง : เรวัต พุทธินันทน์ ทำนอง / เรียบเรียง : อัสนี โชติกุล ก่อนตะวันลับแนวเหลี่ยมภูผา หมอกจางตา ฟ้าร่วมกันท้าทาย ขุนเขายิ่งใหญ่ ทางเดินห่างลับไกล บุกเดินไปไม่เคยหวั่น เขาสูงล้ำค้ำฟ้าตระหง่าน เหล่าภัยพาลคืบคลานเป็นเงา ยิ่งสูงยิ่งหนาวยอดเขายังห่าง อยู่บนทางนึกหวั่นนึกพรั่นความหนาว เขาสูงล้ำค้ำฟ้าตระหง่าน เหล่าภัยพาลคืบคลานเป็นเงา ยิ่งสูงยิ่งหนาวยอดเขายังห่าง อยู่บนทางนึกหวั่นนึกพรั่นความหนาว เปรียบคนเราเหมือนดั่งขึ้นภูเขา ฝ่าไปเอาหมายตัวเราก้าวไกล สูงๆ ขึ้นไป ใครจะอยู่ข้างเรา กิเลสยุเย้าให้ปีนป่าย ไร้มิตรแท้ถึงแม้ยิ่งใหญ่ ใหญ่เกินไปไม่มีใครเอา ยิ่งสูงยิ่งหนาวยิ่งเหงายิ่งห่าง อยู่บนทางนึกหวั่นนึกพรั่นความหนาว....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-02-26 10:15:16 By : love9713
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการ UPDATE ทุกฟิลล์ ทุกตาราง ที่มีอักขระเหมือนอักขระที่ใส่ลงไปครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่