Deze tabel bevat geen unieke kolom.....

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.267
Hoi,

Ik krijg deze melding in mijn PHPmyadmin boven een tabel

Deze tabel bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.

Deze tabel bevat een lijst met gegevens van heel veel landen

Deze kan ik nu niet selecteren omdat er bv geen chekboxen zijn.

Iemand een idee hoe ik die kan toevoegen (nogal een leek op dit gebied) al wat gepuzzeld maar kom niet verder hiermee.
 
Beste Milenko, bedankt hierdoor ben ik tot de oplossing gekomen:thumb:
 
En de oplossing was..... een rimary key toeveoegen gok ik? el zo handig als je dat even vermeldt, dan hoeft de volgende forumbezoeker die dit probleem heet niet verder te zoeken :-)
 
Sorry...een primary key toegevoegd:(hoop dat ik dat goed zeg)

ALTER TABLE naam ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY FIRST


geef voor naam de naam van tabel op!
 
Yup , maar dat is een surrogaat primary key, en dat is meestal een ontwerpfout in je datamodel. Maar dat is een heel ander onderwerp...
 
Ik weet niet hoe een surrogaat primary key eruit ziet
Maar het werkte in elk geval heb nu o.a selectievakjes voor de rijen.
 
Voor als je het interesseert het te importeren bestand begint zo (rijen met landen info)

Code:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;


DROP TABLE IF EXISTS `test_location_city`;
CREATE TABLE `test_location_city` (
  `Feature_int_id` int(11) NOT NULL DEFAULT '0',
  `Admin1_str_code` varchar(5) NOT NULL DEFAULT '',
  `Country_str_code` varchar(2) NOT NULL DEFAULT '',
  `Feature_str_name` varchar(120) NOT NULL DEFAULT '',
  `Feature_dec_lat` double NOT NULL DEFAULT '0',
  `Feature_dec_lon` double NOT NULL DEFAULT '0',
  PRIMARY KEY (`Feature_int_id`),
  KEY `Admin1_str_code` (`Admin1_str_code`),
  KEY `Feature_str_name` (`Feature_str_name`),
  KEY `Country_str_code` (`Country_str_code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `test_location_city` (`Feature_int_id`, `Admin1_str_code`, `Country_str_code`, `Feature_str_name`, `Feature_dec_lat`, `Feature_dec_lon`) VALUES
(146765, 'AD02', 'AD', 'Canillo', 42.567, 1.6),
(211022, 'AD02', 'AD', 'El Tarter', 42.583, 1.65),
enz
enz
 
Waarom is Feature_int_id hier dan niet de primary key? Want dat defineert deze SQL wel zo, gegeven het "primary-key" stukje: PRIMARY KEY (`Feature_int_id`)
 
Beste wensen.......>.

Ik heb dit zo gekregen bij software, mij zegt het niet veel.
 
Als dit bij een stuk software hootr, waarom krijg je dan een foutmelding in phpmyadmin die je alleen kunt krijgen als je handmatig records zit aan te passen?
 
Als dit bij een stuk software hootr, waarom krijg je dan een foutmelding in phpmyadmin die je alleen kunt krijgen als je handmatig records zit aan te passen?

Het zal niet echt een foutmelding zijn:
Deze tabel bevat geen unieke kolom. Functies zoals rasterbewerkingen, checkboxen, Bewerken, Kopiëren en Verwijderen, zijn niet beschikbaar.

Ik vroeg me meer af hoe o,a de selectboxen in de rij te krijgen , zodat bewerken (verwijderen ed van sommige rijen wat makkelijker maakt )
deze wordt door de software maker zo aangeleverd ,,,waarom weet ik niet (dus zonder de selectievakjes ed)
 
Die hele melding kun je niet krijgen als je de tabel hebt gemaakt zoals in dat stuk SQL staat, want daar zit wel degelijk een primary key in.

De rtabel waar je die melding op krijgt is dus *niet* de tabel die je hebt laten zien.
 
Ik weet stiekum toch wel absokluut zeker dat het niet zo is, want je kunt per tabel maar één primary key hebben en als jij er een mag maken dan was er dus nog geen.

Ofwel zit je naar een andere tabel te kijken, of er is *vanalles* mis gegaan bij het aanmaken van deze tabel.
 
Er is in elk geval een gebruiker van de software die deze melding ook had.

I get this when following the above instructions, thoughts?

This table does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Verder heb ik het moeten importeren met Bigdump omwille van de grote, of die iets er mee te maken kan hebben.
 
Laatst bewerkt:
En ook hij kreeg dat niet bij deze tabel.

Misschien moet je deze vraag stellen aan de makers van de software, want je zoekt nu een oplossing voor een probleem dat niet bestaat.
 
Ik zal het eens vragen als ze weer open zijn, hoe hun dat zien
Er bestaat/bestond wel een probleem ..nu heb ik wel selectievlakjes voor de rijen in tabel, diehad ik eerst niet.
 
Er bestaat/bestond wel een probleem ..nu heb ik wel selectievlakjes voor de rijen in tabel, diehad ik eerst niet.


Nee er was geen probleem. De tabel waar jij nu een primary key voor hebt gemaakt hoort geen primary key te hebben, en door er wel een toe tevoegen heb je het gedrag van de tabel verandert en daarmee mogelijk je applicatie gesloopt.

Als je niet weet wat je doet, blijf er dan vanaf. Ga op z'n minst uitzoeken wat de gevolgen zijn van de aanpassingen die je doet, en doe *NOOIT*, echt absoluut helemaal *NOOIT* iets omdat phpadmin iets mompelt, want phpmyadmin is zelf een bijzonder slechte tool die is geschreven door mensen die zelf ook niet zo heel veel van databases weten. Dat klinkt hard maar het is zo. Het feit dat ze een melding geven die jou doet denken dat het datamodel niet klopt is daar een mooi bewijs van.
Ja, als er een PK mist dan kan phpmyadmin de records niet uniek aanwijzen en niet van die moie checkboxes plaatsen. Nou en? het is ook helemaal niet de bedoeling dat iemand die niet weet hoe de database in elkaar zit zelf records gaat zitten weghalen. Daar is de applicatie voor.

Dus nee, er was geen probleem en die PK moet je weer weghalen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan