คำถามติดแท็ก database

Drupal ให้เลเยอร์ abstraction abstraction ที่เป็นมาตรฐานและเป็นมาตรฐานสำหรับการเข้าถึงเซิร์ฟเวอร์ฐานข้อมูล

3
เนื่องจาก db_select นั้นช้ากว่า db_query มากทำไมฉันถึงต้องการใช้มัน
สำหรับพื้นหลังเกี่ยวกับเรื่องนี้โปรดดูhttp://drupal.org/node/1067802 จากทั้งหมดนั้นมีสถานการณ์ใดบ้างที่ฉันอาจต้องการใช้ db_select () หรือฉันควรจะพึ่งพา db_query เพียงลำพัง?

5
พิมพ์แบบสอบถามที่สร้างขึ้นโดยใช้ db_select ()
ฉันต้องการพิมพ์แบบสอบถามที่สร้างขึ้นโดยใช้db_select ()ในทางโปรแกรม มีฟังก์ชั่น API ใดบ้างที่จัดทำโดย Drupal Abstraction Layer? คล้ายกับเอาต์พุตคิวรีใน Views แต่ฉันต้องการพิมพ์จากโมดูลที่กำหนดเองเพื่อการดีบัก
61 7  database 

7
เงื่อนไข“ OR” ใน db_select ()
ฉันกำลังศึกษาเลเยอร์ฐานข้อมูลใหม่และฉันดีใจที่มันเปลี่ยนเป็นเลเยอร์ OOP db_select()ฉันต้องใช้แบบสอบถามกับ ฉันพบว่าฉันสามารถเพิ่มWHEREคำสั่งด้วย$query->condition()แต่โดยค่าเริ่มต้นเงื่อนไขจะถูกรวมเข้าด้วยกัน ฉันหรือเงื่อนไขด้วยกันได้อย่างไร? $query=db_select('users','u')->fields('u',array('uid','title','created','uid')); $query->join('flag_content','fc' , 'u.uid = fc.content_id'); $query->condition('fc.fid', '5' , '='); $query->condition('fc.uid', $uid , '='); //…
51 7  database 

7
จะเปลี่ยนความยาวของการตั้งค่าฟิลด์ได้อย่างไร?
ฉันตั้งค่าเว็บไซต์หนึ่งครั้งเพื่อจำกัดความยาวของฟิลด์ และตอนนี้ลูกค้าต้องการเพิ่มตัวละครให้กับฟิลด์นั้นมากขึ้น ฉันไม่สามารถเปลี่ยนขนาดสูงสุดจาก Drupal ได้เนื่องจากฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: มีข้อมูลสำหรับฟิลด์นี้ในฐานข้อมูล ไม่สามารถเปลี่ยนการตั้งค่าฟิลด์ได้อีกต่อไป อย่างไรก็ตามจะต้องมีวิธีแก้ปัญหา ฉันจะเปลี่ยนมันในฐานข้อมูล (เขตข้อมูลถูกนำไปใช้โดยโมดูลคอลเลกชันฟิลด์ )
46 7  entities  database 

3
ฉันจะรวมการเปลี่ยนแปลงจากสำเนาการพัฒนาของไซต์เป็นไซต์สดโดยไม่สูญเสียเนื้อหาใหม่ได้อย่างไร
ขั้นตอนที่ดีที่สุดสำหรับการรวมงานที่ทำไว้กับสำเนาการพัฒนาของไซต์เป็นสำเนาการผลิตจริงคืออะไร บ่อยครั้งที่มีการเพิ่มเนื้อหาใหม่จำนวนมากลงในไซต์นับตั้งแต่การพัฒนาเริ่มต้นด้วยคุณสมบัติใหม่ล่าสุด และส่วนเพิ่มเติมไปยังไซต์จะเกี่ยวข้องกับการเปลี่ยนแปลงฐานข้อมูล ดังนั้นการคัดลอกไฟล์ใหม่จึงเป็นเรื่องง่าย แต่ฐานข้อมูลล่ะ? คุณผสานการเปลี่ยนแปลงของคุณกับฐานข้อมูลการผลิตที่มีอยู่โดยไม่สูญเสียเนื้อหาใหม่ที่เพิ่มเข้ามาตั้งแต่ครั้งล่าสุดที่คุณปรับปรุงไซต์การผลิตได้อย่างไร มีโมดูลใดบ้างที่ช่วยในเรื่องนี้

11
ตารางใดปลอดภัยที่จะล้าง
ฉันได้รับมรดกเว็บไซต์ลูกค้าที่มีฐานข้อมูลขนาดใหญ่มากโดยไม่มีเหตุผล มีเนื้อหาในระดับปานกลางและโมดูลที่เปิดใช้งานน้อยมาก อย่างไรก็ตามฐานข้อมูลมีขนาดใหญ่เกินไปสำหรับเคลื่อนย้ายไปมาได้ง่ายและฉันต้องการทำความสะอาดออก ฉันได้ล้างตารางแคชมาตรฐาน syslog และ accesslog แล้ว มีตารางอื่น ๆ ที่ฉันสามารถตัดทอนในเว็บไซต์ Drupal มาตรฐานได้อย่างปลอดภัยหรือไม่?
40 database 

4
การใช้ EntityFieldQuery ที่เหมาะสมคืออะไร
ใน Drupal 7 เอกสาร API สำหรับการnode_load_multiple()ระบุโดยใช้$conditionsพารามิเตอร์นั้นเลิกใช้EntityFieldQueryแล้ว หนึ่งจะใช้คลาสเพื่อสร้างรายการของ node ID สำหรับใช้กับได้node_load_multiple()อย่างไร มีกรณีการใช้งานอื่น ๆ อีกหรือไม่
37 7  database 

5
การใช้ IN clause ใน db_query
ฉันไม่สามารถหาวิธีเพิ่มส่วนคำสั่ง IN ในข้อความค้นหาของฉันได้โดยใช้ตัวยึด ฉันต้องการให้มันเป็นเช่น: $nids = array(1, 2, 3); $result = db_query('SELECT * FROM {node} WHERE nid IN :nids', array(':nids' => $nids)); ไม่พบเอกสารใด ๆ ในภารกิจง่าย ๆ นี้ วิธีที่เหมาะสมในการบรรลุสิ่งนี้คืออะไร?
35 7  database 

7
ไม่รวมฟิลด์ว่าง (ว่าง) เมื่อใช้เงื่อนไขแบบสอบถาม EntityFieldQuery
เป็นไปได้หรือไม่ที่จะเลือกเอนทิตีทั้งหมดที่มีฟิลด์ xyz ว่างเปล่า? ฉันลองทุกอย่างเช่นนี้ ->fieldCondition('field_name', 'value', NULL, 'IS NOT NULL'); อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ทำงาน ความคิดใด ๆ
31 7  database 

8
ฉันจะได้รับเพียงผลเดียวโดยใช้ db_query () ได้อย่างไร
ฉันกำลังเปลี่ยนจากวิธีการใช้ MySQL ของโรงเรียนเก่าmysql_fetch_array()และฉันพยายามที่จะใช้ Drupally มากขึ้นโดยใช้ Database API ในโมดูลของฉัน ฉันแค่ต้องการคืนและพิมพ์ค่า ตัวอย่างเช่น: $query = db_query("SELECT zip FROM {zipcodes} WHERE city = :city LIMIT 1", array(":city" => $city)); ฉันรู้ว่ามีค่าฉันสามารถเข้าถึงและพิมพ์โดยใช้วิธีการดั้งเดิมนอกฐานข้อมูล API print $query->zip ไม่ทำงาน. เอกสาร API นั้นชัดเจนเหมือนโคลน ใครสามารถบอกวิธีที่ถูกต้องในการเข้าถึงค่าเหล่านี้ได้ไหม มีการสอนที่ดีที่ใคร ๆ ก็สามารถแนะนำเช่นกัน?
28 7  database 

5
ฉันจะใช้คำว่า "ไม่ได้" ในแบบสอบถามได้อย่างไร
เป็นวิธีที่เหมาะสมในการเขียนแบบสอบถามที่มี 'ไม่ใน' โดยใช้คำสั่งเงื่อนไขคืออะไร? แบบสอบถามของฉันเป็นหนึ่งต่อไปนี้: SELECT DISTINCT nid FROM node WHERE language NOT IN (SELECT language FROM languages WHERE language = 'ab'); ฉันได้ลองทำสิ่งต่อไปนี้แล้ว: $query->condition('n.' . $key, $value, 'not in (select language from languages where language = $value)');
26 7  database 

5
การใช้ OR กับ EntityFieldQuery
ฉันไม่เคยมีความต้องการที่จะทำสิ่งนี้มาก่อนในวันนี้ แต่ดูเหมือนว่าคุณจะไม่สามารถค้นหาหรือใช้แบบสอบถามได้EntityFieldQueryเนื่องจากdb_orจะใช้สำหรับแบบสอบถามแบบใช้เลือกข้อมูล ตัวอย่างจะไปที่เอนทิตีทั้งหมดที่มีฟิลด์วันที่ซึ่งค่าเป็นโมฆะหรือหลังจากวันนี้ ฉันทำบางสิ่งบางอย่างผิดเพี้ยนไปหรือไม่ได้รับการสนับสนุนหรือไม่?

3
ฐานข้อมูลผิดพลาดทั่วไป: เซิร์ฟเวอร์ MySQL ปี 2006 หายไป
เมื่อเร็ว ๆ นี้ฉันเริ่มได้รับข้อผิดพลาดทุกครั้งที่ฉันพยายามเพิ่มเนื้อหาไม่ว่าจะเป็นประเภทใด นี่เป็นข้อผิดพลาดที่ปรากฏในเบราว์เซอร์: มีข้อยกเว้นที่ไม่ได้รับการจัดการเพิ่มเติมเกิดขึ้นขณะจัดการข้อยกเว้น PDOException ดั้งเดิม: SQLSTATE [HY000]: ข้อผิดพลาดทั่วไป: เซิร์ฟเวอร์ MySQL ปี 2006 ได้หายไป: SELECT COUNT (cid) จาก {comment} WHERE status =: status; Array ([: status] => 0) ใน comment_count_unpublished () (บรรทัด 313 ของ /Applications/MAMP/htdocs/modules/comment/comment.module) เพิ่มเติม PDOException: SQLSTATE [HY000]: ข้อผิดพลาดทั่วไป: เซิร์ฟเวอร์ MySQL ปี 2549 ได้หายไปแล้ว: INSERT INTO {watchdog} (uid, …
24 database 

4
แบบสอบถามที่กำหนดเองใน Views?
ในบางจุดฉันพบว่าจำเป็นต้องแก้ไขแบบสอบถาม SQL ที่สร้างโดย Views ในที่สุดฉันก็ข้ามviews_pre_executeและเปลี่ยนแบบสอบถามสำหรับมุมมองเฉพาะนั้น รู้สึกเหมือนแฮ็คที่น่าเกลียดสำหรับฉันและฉันสงสัยว่ามีวิธีที่สง่างามและบำรุงรักษาได้มากกว่านี้หรือไม่ อุดมคติจะเป็นวิธีที่อนุญาตให้ฉันแก้ไขคิวรีได้โดยตรงจาก Views UI
24 views  database 

5
รับแบบสอบถามจริงที่ดำเนินการโดยมุมมอง
ฉันต้องการค้นหาแบบสอบถาม SQL ที่ดำเนินการโดยแบบสอบถามบางอย่าง โมดูลชมสามารถแสดง SQL เมื่อกำหนดค่ามุมมอง แต่เห็นได้ชัดแบบสอบถามไม่แบบสอบถามที่เกิดขึ้นจริงที่ได้รับการเรียกใช้ในทุกกรณี ฉันทราบว่าโมดูล Devel สามารถแสดงคิวรีฐานข้อมูล แต่ไม่มีวิธีใดที่ Devel จะแสดงคิวรีที่แท้จริงยกเว้นการคลิกลิงก์ 'A' ที่เชื่อมโยงกับทุกแบบสอบถามและมีหลายร้อยรายการ ฉันจะค้นหาคำค้นหาจริงที่มุมมองดำเนินการได้อย่างไร มุมมองจะแสดงเป็นบล็อก
23 7  views  database 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.