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

MySQL เป็นโอเพ่นซอร์สระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้ภาษาคิวรีเชิงโครงสร้าง (SQL) ห้ามใช้แท็กนี้สำหรับฐานข้อมูลอื่น ๆ เช่น SQL Server, SQLite เป็นต้นฐานข้อมูลเหล่านี้เป็นฐานข้อมูลที่แตกต่างกันซึ่งทั้งหมดใช้ภาษาของ SQL เพื่อจัดการข้อมูล

30
ข้อผิดพลาดในการย้ายข้อมูล Laravel: ข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง: 1071 รหัสที่ระบุยาวเกินไป ความยาวสูงสุดของคีย์คือ 767 ไบต์
ข้อผิดพลาดในการย้ายข้อมูลใน Laravel 5.4 ด้วย php artisan make:auth [Illuminate \ Database \ QueryException] SQLSTATE [42000]: ข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง: 1071 รหัสที่ระบุยาวเกินไป ความยาวของคีย์สูงสุดคือ 767 ไบต์ (SQL: แก้ไขอี tabl usersเพิ่มที่ไม่ซ้ำกันusers_email_unique( email)) [PDOException] SQLSTATE [42000]: ข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง: 1071 รหัสที่ระบุยาวเกินไป ความยาวสูงสุดของคีย์คือ 767 ไบต์

4
วิธีใช้ MySQL DECIMAL
ฉันไม่สามารถเข้าใจถึงทศนิยมของ MySQL ได้ ฉันต้องการแถวเพื่อให้สามารถมีตัวเลขที่ใดก็ได้จาก 00.0001 ถึง 99.9999 ฉันจะจัดโครงสร้างให้ทำงานอย่างไร
177 mysql 


4
วิธีการ mysqldump ระยะไกล db จากเครื่องท้องถิ่น
ฉันต้องทำ mysqldump ของฐานข้อมูลบนเซิร์ฟเวอร์ระยะไกล แต่เซิร์ฟเวอร์ไม่ได้ติดตั้ง mysqldump ฉันต้องการใช้ mysqldump บนเครื่องของฉันเพื่อเชื่อมต่อกับฐานข้อมูลระยะไกลและถ่ายโอนข้อมูลบนเครื่องของฉัน ฉันได้พยายามสร้างอุโมงค์ ssh แล้วทำการถ่ายโอนข้อมูล แต่ดูเหมือนจะไม่ทำงาน ฉันเหนื่อย: ssh -f -L3310:remote.server:3306 user@remote.server -N อุโมงค์ถูกสร้างขึ้นด้วยความสำเร็จ ถ้าฉันทำ telnet localhost 3310 ฉันได้รับแจ้งความบางอย่างซึ่งแสดงรุ่น mysql เซิร์ฟเวอร์ที่ถูกต้อง อย่างไรก็ตามการทำสิ่งต่อไปนี้ดูเหมือนจะพยายามเชื่อมต่อภายในเครื่อง mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name
177 mysql  mysqldump 

7
อันไหนเร็วที่สุด เลือก SQL_CALC_FOUND_ROWS จาก 'table' หรือเลือก COUNT (*)
เมื่อคุณ จำกัด จำนวนแถวที่จะส่งคืนโดยแบบสอบถาม SQL ซึ่งมักใช้ในการเพจมีสองวิธีในการกำหนดจำนวนระเบียนทั้งหมด: วิธีที่ 1 รวมSQL_CALC_FOUND_ROWSตัวเลือกในต้นฉบับSELECTแล้วรับจำนวนแถวทั้งหมดโดยเรียกใช้SELECT FOUND_ROWS(): SELECT SQL_CALC_FOUND_ROWS * FROM table WHERE id > 100 LIMIT 10; SELECT FOUND_ROWS(); วิธีที่ 2 เรียกใช้แบบสอบถามโดยปกติแล้วรับจำนวนแถวทั้งหมดด้วยการเรียกใช้ SELECT COUNT(*) SELECT * FROM table WHERE id > 100 LIMIT 10; SELECT COUNT(*) FROM table WHERE id > 100; วิธีใดดีที่สุด / เร็วที่สุด

6
ใช้สัญลักษณ์ตัวแทน“ like” ในคำสั่งที่เตรียมไว้
ฉันใช้คำสั่งที่เตรียมไว้เพื่อดำเนินการค้นหาฐานข้อมูล mysql และฉันต้องการที่จะใช้ฟังก์ชั่นการค้นหาตามคำหลักแปลก ๆ เพื่อที่ฉันจะต้องใช้LIKEคำหลักที่ฉันรู้ และฉันยังเคยใช้งบเตรียมมาก่อน แต่ฉันไม่รู้ว่าจะใช้มันอย่างไรLIKEเพราะจากรหัสต่อไปนี้ฉันจะเพิ่มได้'keyword%'ที่ไหน? ฉันสามารถใช้มันโดยตรงในpstmt.setString(1, notes)ฐานะที่เป็น(1, notes+"%")หรืออะไรทำนองนั้น ฉันเห็นโพสต์มากมายบนเว็บนี้ แต่ไม่มีคำตอบที่ดีเลย PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes like ?"); pstmt.setString(1, notes); ResultSet rs = pstmt.executeQuery();

15
ฉันจะบอกได้อย่างไรเมื่อตาราง MySQL ได้รับการปรับปรุงล่าสุด
ในส่วนท้ายของหน้าของฉันฉันต้องการเพิ่มบางอย่างเช่น "ปรับปรุงครั้งล่าสุด xx / xx / 200x" ด้วยวันที่นี้เป็นครั้งสุดท้ายที่ตาราง mySQL บางตัวได้รับการปรับปรุง วิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร? มีฟังก์ชั่นในการดึงข้อมูลวันที่อัพเดทล่าสุดหรือไม่? ฉันควรเข้าถึงฐานข้อมูลทุกครั้งที่ต้องการค่านี้หรือไม่?
176 mysql  sql 

8
จะดูล็อกไฟล์ใน MySQL ได้อย่างไร
ฉันได้อ่านแล้วว่าเซิร์ฟเวอร์ Mysql สร้างไฟล์บันทึกที่เก็บบันทึกกิจกรรมทั้งหมด - เช่นเวลาและสิ่งที่เรียกใช้แบบสอบถาม ใครสามารถบอกฉันว่ามีอยู่ในระบบของฉันหรือไม่? ฉันจะอ่านมันได้อย่างไร โดยทั่วไปฉันจำเป็นต้องสำรองฐานข้อมูลที่มีอินพุตที่แตกต่างกัน [สำรองข้อมูลระหว่างวันที่สองวัน] ดังนั้นฉันคิดว่าฉันต้องใช้ล็อกไฟล์ที่นี่นั่นเป็นสาเหตุที่ฉันต้องการทำมัน ... ฉันคิดว่าบันทึกนี้จะต้องได้รับการรักษาความปลอดภัยอย่างใดเพราะข้อมูลที่ละเอียดอ่อนเช่นชื่อผู้ใช้และรหัสผ่านอาจถูกบันทึกไว้ [หากมีข้อสงสัยใด ๆ ที่จำเป็นต้องใช้] ดังนั้นจึงอาจปลอดภัยไม่สามารถมองเห็นได้ง่าย? ฉันมีสิทธิ์เข้าถึงระบบในรูทฉันจะดูบันทึกได้อย่างไร เมื่อฉันพยายามเปิด /var/log/mysql.log มันว่างเปล่า นี่คือไฟล์ปรับแต่งของฉัน: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] log = /var/log/mysql/mysql.log binlog-do-db=zero user = mysql socket = /var/run/mysqld/mysqld.sock port = 3306 basedir …
176 mysql  logging 

17
ตรวจสอบว่ามีตารางอยู่หรือไม่โดยใช้“ เลือกจาก”
มีวิธีการตรวจสอบว่าตารางที่มีอยู่โดยไม่ต้องเลือกและตรวจสอบค่าจากมันได้หรือไม่ นั่นคือฉันรู้ว่าฉันสามารถไปSELECT testcol FROM testtableและตรวจสอบจำนวนของเขตข้อมูลที่ส่งคืน แต่ดูเหมือนว่าจะต้องมีวิธีที่ตรง / หรูหรามากขึ้นในการทำ
176 mysql  sql 

1
SQL: วิธีการนับจำนวนของค่าที่แตกต่างกันในคอลัมน์?
ฉันมีตาราง SQL ชื่อ "posts" ที่มีลักษณะดังนี้: id | category ----------------------- 1 | 3 2 | 1 3 | 4 4 | 2 5 | 1 6 | 1 7 | 2 หมายเลขหมวดหมู่แต่ละรายการสอดคล้องกับหมวดหมู่ ฉันจะนับจำนวนครั้งที่แต่ละหมวดหมู่ปรากฏในโพสต์ทั้งหมดในแบบสอบถาม SQL หนึ่งรายการได้อย่างไร เป็นตัวอย่างแบบสอบถามดังกล่าวอาจส่งกลับอาร์เรย์สัญลักษณ์เช่นนี้ (1:3, 2:2, 3:1, 4:1) วิธีการปัจจุบันของฉันคือการใช้แบบสอบถามสำหรับแต่ละประเภทที่เป็นไปได้เช่น: SELECT COUNT(*) AS num FROM posts WHERE category=#แล้วรวมค่าส่งคืนลงในอาร์เรย์สุดท้าย อย่างไรก็ตามฉันกำลังมองหาโซลูชันที่ใช้แบบสอบถามเพียงรายการเดียว
176 mysql  sql  count 

8
วิธีสร้างฐานข้อมูลจากคำสั่งเชลล์?
ฉันกำลังมองหาบางอย่างเช่น createb ใน PostgreSQL หรือโซลูชันอื่นใดที่จะอนุญาตให้ฉันสร้างฐานข้อมูลด้วยความช่วยเหลือของคำสั่งเชลล์ คำใบ้ใด ๆ

7
นับจำนวนครั้งของสตริงในฟิลด์ VARCHAR หรือไม่
ฉันมีโต๊ะแบบนี้: TITLE | DESCRIPTION ------------------------------------------------ test1 | value blah blah value test2 | value test test3 | test test test test4 | valuevaluevaluevaluevalue ฉันพยายามหาวิธีคืนจำนวนครั้งที่สตริงเกิดขึ้นในแต่ละคำอธิบายของ ดังนั้นหากฉันต้องการนับจำนวนครั้ง 'value' ปรากฏขึ้นคำสั่ง sql จะส่งคืนสิ่งนี้: TITLE | DESCRIPTION | COUNT ------------------------------------------------------------ test1 | value blah blah value | 2 test2 | value test | 1 test3 …
175 mysql  sql 



24
ไม่สามารถเพิ่มหรืออัปเดตแถวลูกได้: ข้อ จำกัด รหัสต่างประเทศล้มเหลว
ตารางที่ 1 +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | UserID | int(11) | NO | PRI | NULL | auto_increment | | Password | varchar(20) | NO | | | | | Username | varchar(25) | NO | | | | …
174 mysql 

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