2011-11-15 40 views
17

Tôi đang cố gắng để nhập khẩu sql này trong cơ sở dữ liệu của tôi tên symfonyBảng không tồn tại sau CREATE TABLE

CREATE TABLE IF NOT EXISTS ingredient (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` varchar(255) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

và tôi nhận được

#1146 - Table 'symfony.ingredient' doesn't exist 

Điều này có vẻ khá kỳ lạ kể từ khi tôi đang cố gắng ở đây để TẠO bảng này, vì vậy ... tại sao nó không hoạt động? Tôi đã có cùng một vấn đề nếu tôi cố gắng

CREATE TABLE symfony.ingredient 

Hoặc tính năng trong symfony 2

c:\Dev\Symfony>php app/console doctrine:schema:create 

PS: Tôi có vấn đề này chỉ với phiên bản mới của xampp.

EDIT

Vâng, tôi bằng cách nào đó quản lý để giải quyết vấn đề của tôi. Tôi đã xóa cơ sở dữ liệu của mình, sau đó tạo một cơ sở dữ liệu (không có giao diện) và cuối cùng tôi đã khôi phục dịch vụ mysql. Tôi không biết tại sao và làm thế nào nó unstuck tôi, nhưng tôi hy vọng điều này sẽ giúp một ai đó.

+1

Đồng ý. Tôi đã phải thả cơ sở dữ liệu, khởi động lại máy chủ mysql, và sau đó tạo lại tất cả mọi thứ và nó hoạt động tốt. Cảm ơn. –

Trả lời

0

Hmm, bạn có chắc là bạn có cơ sở dữ liệu và được cấu hình riêng để thực hiện các câu lệnh CREATE.

Nếu bạn có phpmyadmin:

Để kiểm tra possibiblity đầu tiên, tạo ra một mới (trống) cơ sở dữ liệu kiểm tra, nhấp vào nó trong menu và sau đó nhấn vào nút lệnh SQL trong thanh điều hướng trên và sao chép dán tuyên bố của bạn một lần nữa . Nếu điều này không làm việc thử thứ hai.

Lần thứ hai, bạn có thể nhấp vào nút 'trang chủ' và sau đó chuyển đến 'Đặc quyền'. Nếu chỉ có hai hoặc ba tài khoản, nhưng tất cả đều có đặc quyền root, bạn có đặc quyền để tạo một CREATE. Nếu không, bạn có thể kiểm tra tài khoản của mình và tự cung cấp các đặc quyền.

Nếu cả hai khả năng không hoạt động thì tôi cũng không biết. Nó hoạt động tốt đối với tôi :(

+0

Đáng buồn thay, tôi đã đăng nhập là người chủ và tôi kiểm tra các truy vấn của mình bằng Phpmyadmin. Điều gì thực sự kỳ lạ là CREATE TABLE symfony_ingredient thực sự hoạt động nhưng đó không phải là những gì tôi muốn. Tôi nghĩ rằng một cái gì đó của messed với tiền tố. – Korangar

+0

Ah vâng, thế thì tôi e là tôi không thể giúp bạn, vì tôi không thể tái tạo lỗi, cũng không thấy bất cứ thứ gì có thể gây ra nó. Chúc may mắn mặc dù :) – Tessmore

14

tôi đã cùng một vấn đề Giải pháp của tôi:.. Tên bảng Thay đổi trong truy vấn bảng tạo, exequte nó và sau đó đổi tên bàn

Sau đó, bạn cũng có thể thả này bảng và sau khi nó tạo ra nó mà không nhận lỗi

+2

Điều này đã không làm việc cho tôi. Tôi đã có một bảng đã có lỗi khi cố gắng đổi tên một bảng khác với tên tôi muốn. – Mike

+0

Lạ, nhưng công trình này, thay đổi tên trong câu lệnh tạo và sau đó đổi tên nó thành tên ban đầu cần thiết, sau khi bảng được tạo thành công. Ai đó có thể ném một số ánh sáng những gì đang xảy ra ở đây? –

8

gì làm việc cho tôi là:.

  • Đi đến thư mục xampp/mysql/data/cơ sở dữ liệu tên/
  • Bạn sẽ chỉ xem tệp .frm. Các tệp .MYD.MYI bị thiếu đối với các bảng trống.
  • Xóa tệp .frm.
  • Dừng quá trình MySQL và khởi động lại nó.
  • Sau đó tôi có thể tạo bảng.

Phiên bản cũ của xampp đã tạo bảng trong định dạng MyISAM phiên bản mới là InnoDB!

+0

trên các tệp Ubuntu nằm trong/var/lib/mysql/[database-name] –

+0

Có! Điều này cũng làm việc cho tôi. Chỉ cần nhớ rằng thư mục gốc /xamppfiles/var/mysql//. * Các tệp cần xóa – narasi

0

Tôi gặp vấn đề tương tự: # 1146 - Bảng 'tutsplus_ci.posts' không tồn tại. Tôi đã giải quyết vấn đề này theo các bước sau:

Tôi đã xuất khẩu bảng bị phân biệt trong tệp sql. Tôi nhận thấy rằng tên bảng trong tập tin .sql có một khoảng trống phía sau. Tôi chuyển về phpmyadmin trong phần Hoạt động của bảng của tôi và tôi đổi tên bảng từ 'bài đăng' thành 'bài đăng'. Sau khi thực hiện tất cả các hành động này, lỗi không hiển thị.

Để kết luận, thực sự bảng 'bài đăng' không tồn tại dưới dạng thông báo lỗi cho biết. Vì tên thực tế của bảng là 'bài đăng' chứ không phải 'bài đăng'. Không gian trước tên rất khó để được thông báo trong phpmyadmin. Đây là câu chuyện. Không có gì đặc biệt. Tôi hy vọng nó sẽ giúp bạn!

1

Tôi gặp vấn đề tương tự. Tôi nhận được thông báo "máy chủ không hoạt động" khi tạo bảng và sau đó tôi nhận được bảng không tồn tại thư, nhưng tôi không thể cố gắng tạo lại bảng vì sau đó tôi nhận được thông báo rằng đã làm hiện hữu. Tôi giải quyết nó bằng cách thực hiện điều này tại dòng lệnh:

mysqlcheck --repair --all-databases -u root -p 

Nó cũng sẽ không làm tổn thương để khởi động lại máy chủ mysql sau này cũng như trong trường hợp.

+0

Điều này không có tác dụng đối với các bảng InnoDB. – aowie1

+0

@ aowie1 Trên thực tế, nó * làm * làm việc với InnoDB, tuy nhiên bất cứ điều gì đã xảy ra trên máy chủ của tôi có thể khác với những gì đang xảy ra với bạn. Ngay cả [manual] (https://dev.mysql.com/doc/refman/5.7/en/mysqlcheck.html) nói về các bảng InnoDB. – Mike

Các vấn đề liên quan