MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Without a Key Length MySQL Lỗi 1170 (42000): BLOB / TEXT Cột khóa Đặc điểm kỹ thuật được sử dụng trong Nếu không có một khóa Length

When creating a new table or altering an existing table with primary keys, unique constraints and indexes, or when defining a new index with Alter Table manipulation statement in MySQL database, the following error may occur and prohibit the the command from completing: Khi tạo một bảng mới hoặc thay đổi hiện có một bảng với chính phím, đặc biệt khó khăn và lập chỉ mục, hoặc khi xác định một chỉ mục mới Thao tác với các thay đổi bảng kê trong cơ sở dữ liệu MySQL, các lỗi sau có thể xảy ra và ngăn cấm các lệnh từ hoàn thành:

ERROR 1170 (42000): BLOB/TEXT column 'field_name' used in key specification without a key length ERROR 1170 (42000): BLOB / TEXT cột 'field_name' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài

The error happens because MySQL can index only the first N chars of a BLOB or TEXT column. Các lỗi xảy ra, vì MySQL có thể lập chỉ mục chỉ có N ký tự đầu tiên của một hoặc BLOB NOÄI DUNG cột. So The error mainly happen when there is a field/column type of TEXT or BLOB or those belongs to TEXT or BLOB types such as TINYBLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, MEDIUMTEXT, and LONGTEXT that you try to make as primary key or index. Vì vậy, Các lỗi chủ yếu xảy ra khi không có một trường / cột loại NOÄI DUNG hoặc BLOB hoặc những người thuộc NOÄI DUNG hoặc BLOB loại như TINYBLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, MEDIUMTEXT, và LONGTEXT quý vị cố gắng thực hiện chính là chìa khóa hoặc chỉ mục. With full BLOB or TEXT without the length value, MySQL is unable to guarantee the uniqueness of the column as it's of variable and dynamic size. Với đầy đủ hoặc BLOB NOÄI DUNG dài mà không có giá trị, MySQL không thể đảm bảo sự độc đáo của các cột như của các biến và năng động, kích cỡ. So, when using BLOB or TEXT types as index, the value of N must be supplied so that MySQL can determine the key length. Vì vậy, khi sử dụng hoặc BLOB NOÄI DUNG loại như là chỉ mục, giá trị của N phải được cung cấp để MySQL có thể xác định được mức độ dài. However, MySQL doesn't support limit on TEXT or BLOB. Tuy nhiên, MySQL không hỗ trợ giới hạn về NOÄI DUNG hoặc BLOB. TEXT(88) simply won't work. NOÄI DUNG (88) chỉ đơn giản là không làm việc.

The error will also pop up when you try to convert a table column from non-TEXT and non-BLOB type such as VARCHAR and ENUM into TEXT or BLOB type, with the column already been defined as unique constraints or index. Lỗi cũng sẽ bật lên khi bạn cố gắng để chuyển đổi một cột trong bảng từ các trang không phải văn bản và không BLOB loại như VARCHAR và Liệt kê vào VĂN BẢN hoặc BLOB loại, với các cột đã được định nghĩa là đặc biệt khó khăn hoặc chỉ mục. The Alter Table SQL command will fail. Những thay đổi Bảng lệnh SQL sẽ không thành công.

The solution to the problem is to remove the TEXT or BLOB column from the index or unique constraint, or set another field as primary key. Các giải pháp cho vấn đề này là để loại bỏ các văn bản hoặc BLOB cột từ chỉ mục hoặc duy nhất constraint, hoặc thiết lập một lĩnh vực như chính khoá. If you can't do that, and wanting to place a limit on the TEXT or BLOB column, try to use VARCHAR type and place a limit of length on it. Nếu bạn không thể làm điều đó, và mong muốn đặt ra một sự giới hạn về NOÄI DUNG BLOB hoặc cột, hãy thử sử dụng các loại VARCHAR và đặt ra một sự giới hạn về độ dài của nó. By default, VARCHAR is limited to a maximum of 255 characters and its limit must be specified implicitly within a bracket right after its declaration, ie VARCHAR(200) will limit it to 200 characters long only. Theo mặc định, VARCHAR là giới hạn tối đa là 255 ký tự và giới hạn của nó phải được chỉ định trong vòng một implicitly bracket ngay sau khi tuyên bố của mình, tức là VARCHAR (200) sẽ giới hạn nó đến 200 ký tự mà thôi.

Sometimes, even though you don't use TEXT or BLOB related type in your table, the Error 1170 may also appear. Đôi khi, ngay cả khi bạn không sử dụng hoặc NOÄI DUNG BLOB có liên quan đến loại hình của bạn trong bảng, các Lỗi 1170 cũng có thể xuất hiện. It happens in situation such as when you specify VARCHAR column as primary key, but wrongly set its length or characters size. Điều đó xảy ra trong tình hình như khi bạn chỉ định VARCHAR cột chính là chìa khóa, nhưng sai thiết lập các kích thước chiều dài hoặc các ký tự. VARCHAR can only accepts up to 256 characters, so anything such as VARCHAR(512) will force MySQL to auto-convert the VARCHAR(512) to a SMALLTEXT datatype, which subsequently fail with error 1170 on key length if the column is used as primary key or unique or non-unique index. VARCHAR chỉ có thể chấp nhận tối đa 256 ký tự, do đó, bất cứ điều gì như là VARCHAR (512) sẽ buộc MySQL để tự động chuyển đổi VARCHAR (512) vào một SMALLTEXT dư liệu, mà sau đó không có lỗi 1170 trên phím dài nếu các cột được sử dụng như chính chính hoặc duy nhất hay không duy nhất chỉ mục. To solve this problem, specify a figure less than 256 as the size for VARCHAR field. Để giải quyết vấn đề này, chỉ định một con số nhỏ hơn 256 là kích thước cho các lĩnh vực VARCHAR.

IMPORTANT : The page is machine translated and provided "as is" without warranty. Lưu ý: Các trang web là máy tính dịch và cung cấp "như là" mà không có bảo hành. Machine translation may be difficult to understand. Máy dịch thuật có thể là khó hiểu. Please refer to Xin vui lòng tham khảo original English article Tiếng Anh bản gốc bài viết whenever possible. bất cứ khi nào có thể.


9 Responses to “MySQL Error 1170 (42000): BLOB/TEXT Column Used in Key Specification Without a Key Length” 9 hồi đáp tới "Lỗi MySQL 1170 (42000): BLOB / TEXT Cột khóa Đặc điểm kỹ thuật được sử dụng trong Nếu không có một khóa Length"

  1. Eli Manobella Eli Manobella
    April 30th, 2009 22:32 30 tháng tư, 2009 22:32
    9 9

    Thank you for the post. Cảm ơn bạn đã cho đăng bai.
    I need a key that is longer then 256. Tôi cần một chìa khóa mà còn sau đó là 256.

    What can I do? Tôi có thể làm gì?

    googling it for the past 3 hours with no luck… googling nó cho quá khứ 3 giờ mà không có may mắn ...
    (Paco Zarabozo comment did not work for me) (Paco Zarabozo bình luận đã không làm việc cho tôi)

  2. Preaching to the UTF8 converted at hontou ni sou omou? Preaching vào utf8 chuyển tại hontou bởi sou omou?
    December 13th, 2008 22:20 13 tháng mười hai, 2008 22:20
    8 8

    [...] I ran into some problems, I back-pedalled to square one. [...] Tôi chạy vào một số vấn đề, tôi quay lại-pedalled đến một hình vuông. Thankfully my backup restored the Latin1 database without any [...] Thankfully tôi latin1 sao lưu khôi phục các cơ sở dữ liệu mà không có bất kỳ [...]

  3. Paco Zarabozo Paco Zarabozo
    October 29th, 2008 10:16 29 tháng mười, 2008 10:16
    7 7

    Well, here's another solution. Vâng, đây là một giải pháp. You can actually specify the key length for your index while keeping your field as longtext. Bạn có thể thực sự xác định được mức độ dài của bạn cho các chỉ mục của bạn trong khi vẫn giữ lĩnh vực như longtext. This is an example: Điều này là một ví dụ:

    create table messages ( tạo bảng tin nhắn (
    id int(20) not null auto_increment, id int (20) không null auto_increment,
    message longtext, longtext bài viết,
    index (message(996), id) chỉ mục (bài viết (996), id)
    ); );

    desc messages; bài viết mô tả;
    show index from messages; hiển thị từ thư mục;

    996 is the maximium key length mySQL has accepted for me. 996 là chiều dài maximium phím MySQL đã chấp nhận cho tôi.

    Cheers, Chúc mừng,

    Paco Paco

  4. David David
    October 27th, 2008 19:50 27 tháng mười, 2008 19:50
    6 6

    Thanks a lot! Thanks a lot!

  5. Marius Vilaia Marius Vilaia
    October 6th, 2008 03:50 6 tháng mười, 2008 03:50
    5 5

    Thank you very much. Cảm ơn bạn rất nhiều. I had this problem and you were a life saver! Tôi đã có vấn đề này, và bạn là một cuộc sống tiết kiệm!

  6. Reza Reza
    March 7th, 2008 04:15 7 tháng ba, 2008 04:15
    4 4

    Thanks, very good defined Cảm ơn, rất tốt được xác định

  7. Jamie Slater Jamie Slater
    February 23rd, 2008 03:40 23 tháng hai, 2008 03:40
    3 3

    Thanks for the post. Cảm ơn đã đăng bài. Very helpful. Rất hữu ích.

  8. Ben Hardy Bến Hardy
    February 20th, 2008 02:45 20 tháng hai, 2008 02:45
    2 2

    Thanks! Cảm ơn! Very useful post. Rất hữu ích đăng bai.

  9. Felix Felix
    August 30th, 2007 18:33 30 tháng tám, 2007 18:33
    1 1

    Thanks for putting this up. Cảm ơn bạn đã đưa lên này. I didn't get the error and you saved me a lot o frustration. Tôi đã không nhận được báo lỗi và bạn lưu lại cho tôi rất nhiều hoặc thất vọng. I'd put you in the 'Goog people' category anytime Tôi muốn đưa bạn trong mục 'GOOG người' thể loại bất cứ lúc nào ;-)

Leave a Reply Để lại một trả lời

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Bạn có thể sử dụng các thẻ:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime = ""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. Đăng ký nhận xét tính năng đã bị vô hiệu hoá. To receive notification of latest comments posted, subscribe to Để nhận được thông báo về ý kiến mới nhất được đăng, đăng ký với My Digital Life Comments RSS feed Cuộc sống kỹ thuật số Bình luận của tôi nguồn cấp dữ liệu RSS or hoặc register to receive đăng ký để nhận được new comments in daily email digest. Các ý kiến mới trong thư điện tử tiêu hàng ngày.
Custom Search

New Articles Bài viết mới

Incoming Search Terms for the Article Tìm kiếm các điều khoản cho các Điều

used in key specification without a key length được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column used in key specification without a key length BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- used in key specification without a key length được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql error 1170 mysql báo lỗi 1170 - -- mysql used in key specification without a key length mysql được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column used in key specification without a key length BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- "used in key specification without a key length" "được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài" - -- mysql 1170 mysql 1170 - -- mysql text key length mysql chiều dài văn bản quan trọng - -- blob text column used in key specification without a key length blob cột được sử dụng trong văn bản quan trọng đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'name' used in key specification without a key length BLOB / NOÄI DUNG cột 'tên' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column # 1170 - BLOB / NOÄI DUNG cột - -- error 1170 mysql 1170 báo lỗi mysql - -- "used in key specification without a key length " "được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài" - -- BLOB/TEXT column used in key specification without a key length BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- MySQL Error Number 1170 Lỗi MySQL Số 1170 - -- used in key specification without a key length được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- ERROR 1170 (42000) ERROR 1170 (42000) - -- key specification without a key length chính đặc điểm kỹ thuật mà không có chìa khóa dài - -- 1170 mysql 1170 mysql - -- #1170 - BLOB/TEXT column 'name' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột 'tên' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql text key mysql văn bản quan trọng - -- ERROR 1170 LÔI 1170 - -- BLOB/TEXT column 'name' used in key specification without a key length BLOB / NOÄI DUNG cột 'tên' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql text unique mysql văn bản duy nhất - -- #1170 - BLOB/TEXT column 'username' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột 'tên người dùng "được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- ERROR 1170 (42000): BLOB/TEXT column used in key specification without a key length ERROR 1170 (42000): BLOB / TEXT cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- used in key specification without a key length mysql được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài mysql - -- column used in key specification without a key length cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql BLOB/TEXT column used in key specification without a key length mysql BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- The used table type doesn't support BLOB/TEXT columns Các bảng được sử dụng loại không hỗ trợ BLOB / NOÄI DUNG cột - -- used in key specification without a key length được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- The used table type doesn't support BLOB/TEXT columns Các bảng được sử dụng loại không hỗ trợ BLOB / NOÄI DUNG cột - -- #1170 - BLOB/TEXT column 'ID' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột 'ID' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'title' used in key specification without a key length BLOB / NOÄI DUNG cột 'tiêu đề' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql text primary key mysql văn bản chính khoá - -- #1170 - BLOB/TEXT column 'name' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột 'tên' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'ID' used in key specification without a key length BLOB / NOÄI DUNG cột 'ID' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- mysql #1170 mysql # 1170 - -- sql error 1170 sql lỗi 1170 - -- BLOB/TEXT column used in key specification without a key length BLOB / NOÄI DUNG cột được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column 'id' used in key specification without a key length # 1170 - BLOB / TEXT column 'id' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'Username' used in key specification without a key length BLOB / NOÄI DUNG cột 'Tên' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column '' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột''được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'title' used in key specification without a key length BLOB / NOÄI DUNG cột 'tiêu đề' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- BLOB/TEXT column 'url' used in key specification without a key length BLOB / NOÄI DUNG cột 'url' được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - -- #1170 - BLOB/TEXT column 'username' used in key specification without a key length # 1170 - BLOB / NOÄI DUNG cột 'tên người dùng "được sử dụng ở những đặc điểm kỹ thuật mà không có chìa khóa dài - --