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

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

10
ชนิดข้อมูลใดที่จะใช้สำหรับฟิลด์รหัสผ่านที่แฮชและความยาวเท่าใด
ฉันไม่แน่ใจว่ารหัสผ่านการแฮชทำงานอย่างไร (จะนำมาใช้ในภายหลัง) แต่ต้องสร้างสคีมาฐานข้อมูลทันที ฉันคิดถึงการ จำกัด รหัสผ่านให้เหลือเพียง 4-20 ตัวอักษร แต่อย่างที่ฉันเข้าใจหลังจากเข้ารหัสสตริงแฮชจะมีความยาวต่างกัน ดังนั้นวิธีการเก็บรหัสผ่านเหล่านี้ในฐานข้อมูล?

2
ส่งจาก VARCHAR ถึง INT - MySQL
ข้อมูลปัจจุบันของฉันสำหรับ SELECT PROD_CODE FROM `PRODUCT` คือ PROD_CODE 2 5 7 8 22 10 9 11 ฉันลองค้นหาทั้งสี่ข้อแล้วและไม่ทำงานเลย ( อ้างอิง ) SELECT CAST(PROD_CODE) AS INT FROM PRODUCT; SELECT CAST(PROD_CODE AS INT) FROM PRODUCT; SELECT CAST(PROD_CODE) AS INTEGER FROM PRODUCT; SELECT CAST(PROD_CODE AS INTEGER) FROM PRODUCT; ข้อผิดพลาดทั้งหมดของไวยากรณ์การโยนเช่นด้านล่าง: คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชั่นเซิร์ฟเวอร์ MySQL ของคุณเพื่อหาไวยากรณ์ที่ถูกต้องที่จะใช้ใกล้ …
267 mysql  sql 

16
ได้รับ“ หมดเวลารอการล็อค ลองเริ่มต้นธุรกรรมใหม่ "แม้ว่าฉันจะไม่ได้ใช้ธุรกรรมก็ตาม
ฉันใช้UPDATEคำสั่งMySQL ต่อไปนี้: mysql> update customer set account_import_id = 1; ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction ฉันไม่ได้ใช้ธุรกรรมดังนั้นทำไมฉันถึงได้รับข้อผิดพลาดนี้? ฉันลองรีสตาร์ทเซิร์ฟเวอร์ MySQL แล้วก็ไม่ได้ผล ตารางมี 406,733 แถว



26
วิธีการแปลงตารางทั้งหมดจาก MyISAM เป็น InnoDB?
ฉันรู้ว่าฉันสามารถออกตารางแก้ไขเป็นรายบุคคลเพื่อเปลี่ยนที่จัดเก็บตารางจาก MyISAM เป็น InnoDB ฉันสงสัยว่ามีวิธีที่จะเปลี่ยนพวกเขาทั้งหมดเป็น InnoDB อย่างรวดเร็วหรือไม่?
264 mysql  sql  innodb 

9
MySQL SELECT ไม่เพียง แต่ค่า Null
เป็นไปได้หรือไม่ที่จะเลือก statement ที่รับเฉพาะค่า NULL เท่านั้น? ตอนนี้ฉันกำลังใช้สิ่งนี้: SELECT * FROM table จากนั้นฉันต้องกรองค่าว่างด้วย php loop มีวิธีการอย่างไร: SELECT * (that are NOT NULL) FROM table ? ตอนนี้เมื่อฉันเลือก * ฉันได้รับ val1, val2, val3, null, val4, val5, null, null ฯลฯ .... แต่ฉันต้องการรับค่าที่ไม่เป็นโมฆะในผลลัพธ์ของฉัน เป็นไปได้โดยไม่ต้องกรองด้วยห่วงหรือไม่
264 mysql  sql  select  notnull 

15
ข้อผิดพลาดของ MySQL:: 'การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้' รูท '@' localhost '
$ ./mysqladmin -u root -p ' redacted ' ป้อนรหัสผ่าน: mysqladmin: เชื่อมต่อกับเซิร์ฟเวอร์ที่ 'localhost' ล้มเหลวข้อผิดพลาด: 'การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้' รูท '@' localhost '(ใช้รหัสผ่าน: YES)' ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

30
MySQL> ตารางไม่มีอยู่ แต่มันจะ (หรือควร)
ฉันเปลี่ยนข้อมูลของการติดตั้ง MySQL และฐานทั้งหมดย้ายอย่างถูกต้องยกเว้นหนึ่ง ฉันสามารถเชื่อมต่อและUSEฐานข้อมูล SHOW TABLESส่งคืนตารางทั้งหมดให้ฉันอย่างถูกต้องและไฟล์ของแต่ละตารางนั้นมีอยู่ในไดเรกทอรีข้อมูล MySQL อย่างไรก็ตามเมื่อฉันลองSELECTบางสิ่งจากตารางฉันได้รับข้อความแสดงข้อผิดพลาดว่าไม่มีตารางอยู่ แต่นี่ไม่สมเหตุสมผลเนื่องจากฉันสามารถแสดงตารางเดียวกันผ่านการSHOW TABLESแถลง ฉันเดาว่าSHOW TABLESรายชื่อไฟล์มีอยู่ แต่ไม่ได้ตรวจสอบว่าไฟล์เสียหายหรือไม่ ดังนั้นฉันสามารถแสดงรายการไฟล์เหล่านั้น แต่ไม่สามารถเข้าถึงได้ อย่างไรก็ตามมันเป็นเพียงการคาดเดา ฉันไม่เคยเห็นสิ่งนี้มาก่อน ตอนนี้ฉันไม่สามารถรีสตาร์ทฐานข้อมูลเพื่อทำการทดสอบได้ แต่นั่นเป็นเพียงการคาดเดาฉันไม่เคยเห็นสิ่งนี้มาก่อน ไม่มีใครรู้ว่าทำไมสิ่งนี้เกิดขึ้น? ตัวอย่าง: mysql> SHOW TABLES; +-----------------------+ | Tables_in_database | +-----------------------+ | TABLE_ONE | | TABLE_TWO | | TABLE_THREE | +-----------------------+ mysql> SELECT * FROM TABLE_ONE; ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't …


6
ความยาวสูงสุดของ MySQL และ GROUP_CONCAT ()
ฉันใช้GROUP_CONCAT()ในแบบสอบถาม MySQL เพื่อแปลงหลายแถวเป็นสตริงเดียว อย่างไรก็ตามความยาวสูงสุดของผลลัพธ์ของฟังก์ชันนี้คือ1024อักขระ ฉันตระหนักดีว่าฉันสามารถเปลี่ยนพารามิเตอร์group_concat_max_lenเพื่อเพิ่มขีด จำกัด นี้: SET SESSION group_concat_max_len = 1000000; อย่างไรก็ตามบนเซิร์ฟเวอร์ที่ฉันใช้ฉันไม่สามารถเปลี่ยนพารามิเตอร์ได้ ไม่ใช่โดยการใช้คิวรีก่อนหน้าและไม่ใช่โดยการแก้ไขไฟล์คอนฟิกูเรชันใด ๆ ดังนั้นคำถามของฉันคือ: มีวิธีอื่นในการรับผลลัพธ์ของแบบสอบถามหลายแถวในสตริงเดียวหรือไม่

12
รับชื่อตารางโดยใช้คำสั่ง SELECT ใน MySQL
ใน MySQL ฉันรู้ว่าฉันสามารถแสดงรายการตารางในฐานข้อมูลด้วย: SHOW TABLES อย่างไรก็ตามฉันต้องการแทรกชื่อตารางเหล่านี้ในตารางอื่นตัวอย่างเช่น: INSERT INTO metadata(table_name) SHOW TABLES /* does not work */ มีวิธีรับชื่อตารางโดยใช้คำสั่ง SELECT มาตรฐานหรือไม่: INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */
260 mysql 

23
จะใช้ MySQLdb กับ Python และ Django ใน OSX 10.6 ได้อย่างไร
นี่เป็นปัญหาที่พูดถึงกันมากสำหรับผู้ใช้ OSX 10.6 แต่ฉันไม่สามารถหาวิธีแก้ปัญหาที่ใช้งานได้ นี่คือการตั้งค่าของฉัน: Python 2.6.1 64 บิต Django 1.2.1 MySQL 5.1.47 osx10.6 64 บิต ฉันสร้าง virtualenvwrapper ด้วย --no-site-packages จากนั้นติดตั้ง Django เมื่อฉันเปิดใช้งาน virtualenv และเรียกใช้ python Manage.py syncdb ฉันได้รับข้อผิดพลาดนี้: Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager utility.execute() File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", …


7
ฉันจะหยุดการสืบค้น MySQL ที่ทำงานอยู่ได้อย่างไร
ฉันเชื่อมต่อmysqlจากเชลล์ Linux ทุก ๆ ครั้งที่ฉันเรียกใช้SELECTแบบสอบถามที่มีขนาดใหญ่เกินไป มันพิมพ์และพิมพ์และฉันรู้แล้วว่านี่ไม่ใช่สิ่งที่ฉันหมายถึง ฉันต้องการหยุดการค้นหา การกดปุ่มCtrl+C(สองสามครั้ง) ก็ฆ่าได้mysqlอย่างสมบูรณ์และพาฉันกลับไปที่กระสุนดังนั้นฉันต้องเชื่อมต่อใหม่ เป็นไปได้ไหมที่จะหยุดการสืบค้นโดยไม่ฆ่าmysqlตัวเอง
258 mysql  kill  processlist 

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